获取eregi已弃用的错误消息

时间:2013-07-12 05:08:55

标签: php

如何用preg_match替换此代码上的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
}

3 个答案:

答案 0 :(得分:1)

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

var_dump(filter_var('bob@example.com', FILTER_VALIDATE_EMAIL));

答案 1 :(得分:0)

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

if(!eregi( "/". $regex ."/i", $subemail)){
  //do this
}

答案 2 :(得分: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.\";
}