可能重复:
PHP email validation
我正在这个网站上工作,我必须在那里登记表格。我让它工作了,但后来我的朋友告诉我,一些电子邮件域名确实有连字符,比如;
test@test-tester.com
现在我的代码看起来像这样:
preg_match("/^[a-zA-Z0-9._\-]\w+(\.\w+)*\@\w+(\.[a-zA-Z0-9._-]+)*\.[a-zA-Z.]{2,6}$/", $_POST["email"]
我可以看到,这应该有用,但它仍然不允许连字符。 谁知道为什么?
答案 0 :(得分:1)
正则表达式总是有用,但我更喜欢使用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 =(');
}