验证电子邮件,包含最后一个字符

时间:2012-07-05 07:54:00

标签: php regex email

我在使用正则表达式验证电子邮件地址时遇到问题。代码似乎工作正常,直到用户将一些长字符分隔(.dot)结尾处。代码

if(preg_match('~^\b[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\.[a-zA-z]{2,4}+\b$~',$_POST["email"]))

{
    $valid ="valid";
}
else
{
    $valid ="invalid";
}

当用户输入类似ksdlk@gll.lik.ij.lio.lk.gr的内容时,会出现问题,返回“有效”。如何处理最后一个字符,只允许来自@ like“.com”或“.co.uk”的4,5个字符。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试使用此

if(filter_var('email@example.com', FILTER_VALIDATE_EMAIL))return TRUE;
else return FALSE;