如何在PHP中验证电子邮件地址?

在本文中,我们将学习使用PHP正则表达式验证电子邮件。我们将学习不同的方法来验证PHP中的电子邮件地址。

方法1

函数preg_match()使用正则表达式检查输入是否与模式匹配。

示例

<?php
   function checkemail($str) {
         return (!preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
   }
   if(!checkemail("alex@nhooo.com")){
      echo "无效的邮件地址。";
   }
   else{
      echo "合法的邮件地址。";
   }
?>

输出结果

合法的邮件地址。

在上面的示例中,已使用PHP preg_match()函数在字符串中搜索模式,并且已使用PHP三元运算符根据preg_match返回值返回true或false值。

方法2

我们将讨论使用filter_var()方法进行的电子邮件验证。

示例

<?php
   $email = "pattrick@nhooo.com";
   //验证电子邮件
   if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
      echo("$email is a valid email address");
   }
   else{
      echo("$email is not a valid email address");
   }
?>

输出结果

pattrick@nhooo.com is a valid email address