我在使用正则表达式验证电子邮件地址时遇到问题。代码似乎工作正常,直到用户将一些长字符分隔(.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个字符。
提前致谢
答案 0 :(得分:1)
尝试使用此
if(filter_var('email@example.com', FILTER_VALIDATE_EMAIL))return TRUE;
else return FALSE;