-1

如何用 pregmatch 替换此代码上的eregi?

$subemail=$_POST['emailadd'];

$regex = "^[_+a-z0-9-]+(\.[_+a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]{1,})*\.([a-z]{2,}){1}$";

if(!eregi($regex, $subemail)){
//do this
}
4

3 回答 3

1

为什么不使用filter_var来验证电子邮件?

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
于 2013-07-12T07:39:25.997 回答
0

只需/在原始正则表达式之前和之后添加分隔符(我使用),然后i在末尾添加标志。

if(!eregi( "/". $regex ."/i", $subemail)){
  //do this
}
于 2013-07-12T07:35:02.017 回答
0

试试下面的代码。

$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; 

if (preg_match($regex, $email)) {
 echo $email . \" is a valid email. We can accept it.\";
} else { 
 echo $email . \" is an invalid email. Please try again.\";
} 
于 2013-07-12T07:46:36.820 回答