国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > php开源 > php教程 > php 判断邮箱地址的正则表达式详解

php 判断邮箱地址的正则表达式详解

来源:程序员人生   发布时间:2014-02-08 11:38:03 阅读次数:2466次

在php中我们经常会来利用正则表达式来验证用户输入的信息是不是邮箱地址了,下面我来给大家介绍判断邮箱地址的正则表达式详解

判断邮件的一个正则表达式,逐句解释下是什么意思,代码如下:

  1. ^(w+((-w+)|(.w+))*)+w+((-w+)|(.w+))*@[A-Za-z0-9]+((.|-)[A-Za-z0-9]+)*.[A-Za-z0-9]+$ 

^ 匹配字符串头

(w+((-w+)|(.w+))*) 1:这里匹配laidfj456、sfi-lsoke、fe.23i这样的字符串

+ 匹配加号

w+((-w+)|(.w+))* 同1

@ 匹配@

[A-Za-z0-9]+2: 由大小写字母和数字?成的字符串,等价于w+

((.|-)[A-Za-z0-9]+)* 匹配0个或多个由"."或"-"开头的字符串,如.oeiu234mJ、-oiwuer4

. 匹配"."

[A-Za-z0-9]+  同2

$ 匹配字符串的?尾

实例代码如下:

  1. <?php 
  2. /** 
  3.  * 邮件的正则表达式  @author:lijianghai 
  4.  */ 
  5.  function  isEmail($input = null) 
  6.  {  //用户名:以数字、字母、下滑线组成; 
  7.   $email = $input
  8.   /*使用preg_ereg()出错:因为第二个参数需要是数组 
  9.    * if(preg_grep("^[a-zA-Z][a-zA-Z0-9_]{3,19}@[0-9A-Za-z]{1,10}(.)(com|cn|net|com.cn)$", array($input))) 
  10.   { 
  11.    echo $email.'是符合条件的邮件地址'; 
  12.   }else 
  13.   { 
  14.    echo $email.'格式错误'; 
  15.   } 
  16.   */ 
  17.   if(ereg("^[a-zA-Z][a-zA-Z0-9_]{3,9}@[0-9a-zA-Z]{1,10}(.)(com|cn|com.cn|net)$",$email)) 
  18.   { 
  19.    echo $email."符合格式规范"
  20.   } 
  21.   else 
  22.   { 
  23.    echo  $email.'格式错误'
  24.   } 
  25.  } 
  26.  $email = ""
  27.  isEmail($email); 
  28. ?> 
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生