可能重复:
PHP电子邮件验证
我在这个网站上工作,在那里我必须制作一个注册表。我成功了,但后来我的朋友告诉我,有些电子邮件域名中确实有连字符,比如;
test@test-tester.com
现在我的代码是这样的:
preg_match("/^[a-zA-Z0-9._'-]'w+('.'w+)*'@'w+('.[a-zA-Z0-9._-]+)*'.[a-zA-Z.]{2,6}$/", $_POST["email"]
据我所见,这应该可以工作,但它仍然不允许使用连字符。有人知道为什么吗?
Regex总是很有用的,但我更喜欢使用filter_var
来验证电子邮件
http://www.php.net/manual/en/filter.filters.validate.php
if(filter_var($email, FILTER_VALIDATE_EMAIL))
{
print('valid Email!');
}
else
{
print('invalid-email =(');
}