首页 > 语言 > PHP > 正文

php正则表达式验证邮箱

2024-09-04 11:47:11
字体:大 中 小
来源:转载
供稿:网友

邮箱验证代码大都是不能验证一个字母的域名或一个字母的用户名,如:i@Vevb.com 或 i@Vevb.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 '邮箱格式错误';  
  18. } 

邮箱验证类,代码如下:

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表