我使用preg_match()验证电子邮件地址时遇到问题。
这是我的代码块。
if (VerifierAdresseMail($email))
echo '<p>valide.</p>';
else
echo '<p>not valid</p>';
function VerifierAdresseMail($adresse) {
$Syntaxe = '#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
if (preg_match($Syntaxe, $adresse))
return true;
else
return false;
}
这似乎不起作用。它只是返回一个白页。在我的application.ini
中,我无法看到错误[developpement : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
phpSettings.track_errors = 1
phpSettings.error_reporting = E_ALL
resources.frontController.params.displayExceptions = 1
phpSettings.date.timezone = "Europe/Paris"
感谢您的帮助
答案 0 :(得分:20)
请勿使用preg_match()
来验证电子邮件地址。请改用filter_var()
:
if (filter_var($adresse, FILTER_VALIDATE_EMAIL)) {
// valid
} else {
// not valid
}
答案 1 :(得分:2)
我认为你应该使用它:
filter_var('e-mail@provider.com', FILTER_VALIDATE_EMAIL);
返回过滤后的数据,如果过滤器失败,则返回FALSE。