PHP regular expression email verification sample code

怪我咯
Release: 2023-03-13 17:12:01
Original
1242 people have browsed it

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。这篇文章主要介绍了PHP正则验证Email的方法,涉及php正则表达式验证的相关技巧,需要的朋友可以参考下。具体如下:

<?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;
}
?>
Copy after login

The above is the detailed content of PHP regular expression email verification sample code. For more information, please follow other related articles on the PHP Chinese website!

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 Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!