Heim > php教程 > PHP源码 > PHP 验证Email的函数

PHP 验证Email的函数

PHP中文网
Freigeben: 2016-05-25 17:13:40
Original
1356 Leute haben es durchsucht

PHP 验证Email的函数 

<?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] == &#39;.&#39; || $local[$localLen-1] == &#39;.&#39;)
      {
         // local part starts or ends with &#39;.&#39;
         $isValid = false;
      }
      else if (preg_match(&#39;/\\.\\./&#39;, $local))
      {
         // local part has two consecutive dots
         $isValid = false;
      }
      else if (!preg_match(&#39;/^[A-Za-z0-9\\-\\.]+$/&#39;, $domain))
      {
         // character not valid in domain part
         $isValid = false;
      }
      else if (preg_match(&#39;/\\.\\./&#39;, $domain))
      {
         // domain part has two consecutive dots
         $isValid = false;
      }
      else if
(!preg_match(&#39;/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\&#39;*+?^{}|~.-])+$/&#39;,
                 str_replace("\\\\","",$local)))
      {
         // character not valid in local part unless 
         // local part is quoted
         if (!preg_match(&#39;/^"(\\\\"|[^"])+"$/&#39;,
             str_replace("\\\\","",$local)))
         {
            $isValid = false;
         }
      }
      if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A")))
      {
         // domain not found in DNS
         $isValid = false;
      }
   }
   return $isValid;
}
 
?>
Nach dem Login kopieren


Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage