我希望能帮助验证PHP中的电子邮件地址。我需要的电子邮件的格式是[email protected]
,.com
,.ca
或.org
是有效的顶级域名。为什么我的电子邮件验证不起作用
我的功能是:
function validateEmail($email)
{
$regex = "/[a-zA-Z0-9_-.+][email protected][a-zA-Z0-9-]+.[a-zA-Z]+/";
if (!preg_match($regex, $email))
{
return "<li>Email is in wrong format</li>"
}
}
你是什么意思的“不工作”?你的脚本是否运行?你有什么尝试? – dimo414 2014-10-16 22:52:53
你应该逃避你的第一个字符类的最后一个连字符。也就是说,验证电子邮件地址是非常困难的,特别是使用RegExp。改为使用带'FILTER_VALIDATE_EMAIL'的PHP'filter_var()'函数。 – 2014-10-16 22:53:12
根据你的问题,你的正则表达式应该是:http://regex101.com/r/zF1gI2/2 - 请更清楚你的问题,因为我认为这是不正确的... – 2014-10-16 22:54:45