Home > php教程 > php手册 > PHP正则验证Email的方法,PHP验证Email方法

PHP正则验证Email的方法,PHP验证Email方法

WBOY
Release: 2016-06-13 09:01:29
Original
1325 people have browsed it

PHP正则验证Email的方法,PHP验证Email方法

本文实例讲述了PHP正则验证Email的方法。分享给大家供大家参考。具体如下:

<&#63;php
function validateEmail($email)
{
  $isValid = true;
  $atIndex = strrpos($email, "@");
  if (is_bool($atIndex) && !$atIndex)
  {
   $isValid = false;
  }
  else
  {
   $domain = substr($email, $atIndex+1);
   $local = substr($email, 0, $atIndex);
   $localLen = strlen($local);
   $domainLen = strlen($domain);
   if ($localLen < 1 || $localLen > 64)
   {
     // local part length exceeded
     $isValid = false;
   }
   else if ($domainLen < 1 || $domainLen > 255)
   {
     // domain part length exceeded
     $isValid = false;
   }
   else if ($local[0] == '.' || $local[$localLen-1] == '.')
   {
     // local part starts or ends with '.'
     $isValid = false;
   }
   else if (preg_match('/\\.\\./', $local))
   {
     // local part has two consecutive dots
     $isValid = false;
   }
   else if (!preg_match('/^[A-Za-z0-9\\-\\.]+$/', $domain))
   {
     // character not valid in domain part
     $isValid = false;
   }
   else if (preg_match('/\\.\\./', $domain))
   {
     // domain part has two consecutive dots
     $isValid = false;
   }
   else if(!preg_match('/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\'*+&#63;^{}|~.-])+$/', str_replace("\\\\","",$local)))
   {
     // character not valid in local part unless 
     // local part is quoted
     if (!preg_match('/^"(\\\\"|[^"])+"$/', str_replace("\\\\","",$local)))
     {
      $isValid = false;
     }
   }
   if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")))
   {
     // domain not found in DNS
     $isValid = false;
   }
  }
  return $isValid;
}
&#63;>

Copy after login

希望本文所述对大家的php程序设计有所帮助。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template