有效的电子邮件地址验证(preg_match)

3

我有问题需要使用 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"

感谢您的帮助。

1
它在ideone上可以工作 http://ideone.com/Jq7FL; 但是你的正则表达式需要改进。 - guido
2个回答

21

不要使用preg_match()来验证电子邮件地址。而应该使用filter_var()

if (filter_var($adresse, FILTER_VALIDATE_EMAIL)) {
     // valid
} else {
     // not valid
}

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接