如何用 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
}
如何用 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
}
为什么不使用filter_var来验证电子邮件?
var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));
只需/
在原始正则表达式之前和之后添加分隔符(我使用),然后i
在末尾添加标志。
if(!eregi( "/". $regex ."/i", $subemail)){
//do this
}
试试下面的代码。
$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.\";
}