我在使用正则表达式验证电子邮件地址时遇到问题。代码似乎可以正常工作,直到用户在末尾放置一些用(.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 的内容时,问题就出现了,它返回“有效”。如何处理最后一个字符,这将只允许来自@ 的 4,5 个字符,如“.com”或“.co.uk”。
提前致谢