当前位置:首页 > PHP教程 > 正则表达式 > 列表

php正则表达式验证邮箱

发布:smiling 来源: PHP粉丝网  添加日期:2014-01-05 21:45:37 浏览: 评论:0 

邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如:i@phpfensi.com 或 i@phpfensi.net,解决方法如下:

1,不做总长度判断,长度判断可以自己加上;2,支持.net.cn,.com.cn这样的域名后缀;3,邮箱名部分以字母或者数字开头,中间可以有“-”与“_”符号;4,域名部分以字母或者数字开头,中间可以有“-”与“_”符号;

PHP 邮箱验证正则表达式,代码如下:

preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );

实例代码如下:

  1. /**  
  2.  * 自己修整的一个邮箱正则表达式  
  3.  * php粉丝网  
  4.  */ 
  5. echo '<meta charset="utf-8" />';  
  6. function c_email($email){  
  7.     $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}$/';  
  8.     if(preg_match($reg,$email))  
  9.         return true;      
  10.     return false;  
  11. }  
  12. $email = 'mail@lizhong.me';  
  13. $check_result = c_email($email);  
  14. if($check_result){  
  15.     echo '邮箱格式正确';  
  16. }else{  
  17.     echo '邮箱格式错误';  

邮箱验证类,代码如下:

  1. <?php 
  2. class Reg 
  3.     public $mail
  4.     function __construct() 
  5.     { 
  6.         $this->mail = $_POST["mail"];         
  7.     } 
  8.     function RegMail() 
  9.     { 
  10.         if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i"$this->mail)) 
  11.         { 
  12.             echo "<script language='javascript'>alert('验证成功')</script>"
  13.         } 
  14.         else 
  15.         { 
  16.             echo "<script language='javascript'>alert('验证失败')</script>"
  17.         } 
  18.     } 
  19. $r = new Reg(); 
  20. $r->RegMail(); 
  21. $strings = "abc@163.com"
  22. if(preg_match("/^[0-9a-zA-Z]+(?:[_-][a-z0-9-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*.[a-zA-Z]+$/i",$strings)) 
  23.     echo"验证成功!是邮箱地址。"
  24. else 
  25.     echo"不是邮箱地址!"
  26. ?>

Tags: php 正则 验证邮箱

分享到: