一个PHP邮箱正则验证方法

几乎学习程序的童鞋,开始最怕的就莫过于正则表达式了,简单的还好,复杂的简直让你头疼。网上一堆邮箱正则表达式,但通过验证发现都有一些小bug,这个邮箱正则是根据目前域名命名规则以及长度写出的。

  • 不做总长度判断,长度判断可以自己加上
  • 支持.net.cn.com.cn这样的域名后缀
  • 邮箱名部分以字母或者数字开头,中间可以有-_符号
  • 域名部分以字母或者数字开头,中间可以有-_符号
<?php
/**
 * 自己修整的一个邮箱正则表达式
 * 琼台博客 www.qttc.net
 */

function c_email($email){
  $reg='/^([a-zA-Z0-9]{1,20})(([\_\-\.])?([a-zA-Z0-9]{1,20}))*@([a-zA-Z0-9]{1,20})(([\-\_])?([a-zA-Z0-9]{1,20}))*(\.[a-z]{2,4}){1,2}$/';
  if(preg_match($reg,$email))
    return true;    
  return false;
}

$email = 'hi@example.com';
$check_result = c_email($email);
if($check_result){
  echo 'Success';
}else{
  echo 'Error';
}

// Output: Success
分享

TITLE: 一个PHP邮箱正则验证方法

LINK: https://www.qttc.net/130-php-email-regular.html

NOTE: 原创内容,转载请注明出自琼台博客