使用正则表达式进行简单电子邮件验证
可能重复:
验证电子邮件地址的最佳正则表达式是什么?
有一个用于电子邮件地址验证的PHP库吗?
在我的注册表格中,用户将添加他的电子邮件,然后通过电子邮件验证他的帐户。 然而,我想要一个简单的电子邮件验证,我想知道以下是否合适。
<?php
$email = "someone@example.com";
if(eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,3})$", $email)) {
echo "Valid email address.";
}
else {
echo "Invalid email address.";
}
?>
尝试:
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo 'Valid';
} else {
echo 'Invalid';
}
您的正则表达式不必要地禁止子域名,例如user@unit.company.com
。 另外,您不应该使用已弃用的eregi
。
而不是重新发明你自己的车轮,使用filter_var
:
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "Valid email address.";
} else {
echo "Invalid email address.";
}
除了正则表达式,你也可以使用filter_var
:
if (filter_var('someone@example.com', FILTER_VALIDATE_EMAIL)) === false)
{
echo "Invalid email address.";
}
链接地址: http://www.djcxy.com/p/16565.html