gpt4 book ai didi

php中邮箱地址正则表达式实现与详解

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章php中邮箱地址正则表达式实现与详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

首先附上代码  。

复制代码代码如下

^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$  。

在这段正则表达式中,“+”表示前面的字符串连续出现一个或多个;“^”表示下一个字符串必须出现在开头,“$”表示前一个字符串必须出现在结尾;  “.”也就是“.”,这里“”是转义符;“{2,3}”表示前面的字符串可以连续出现2-3次。“()”表示包含的内容必须同时出现在目标对象中。“[_.0-9a-z-]”表示包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中的任意字符;  这样一来,这个正则表达式可以这样翻译:  “下面的字符必须在开头(^)”、“该字符必须包含在“_”、“.”、“-”、从a到z范围内的字母、从0到9范围内的数字中([_.0-9a-z-])”、“前面这个字符至少出现一次(+)”、@、“该字符串由一个包含在从a到z范围内的一个字母、从0到9范围内的数字中的字符开头,后面跟至少一个包含在“-”、从a到z范围内任何一个字母、从0到9范围内任何一个数字中的字符,最后以.结束(([0-9a-z][0-9a-z-]+.))”、“前面这个字符至少出现一次(+)”、“从a到z范围内的字母出现2-3次,并以它结束([a-z]{2,3}$)”  。

复制代码代码如下

function is_valid_email($email, $test_mx = false)  {  if(eregi("^([_a-z0-9-]+)(.[_a-z0-9-]+)*@([a-z0-9-]+)(.[a-z0-9-]+)*(.[a-z]{2,4})[ wind_phpcode_0 ]quot;, $email))  if($test_mx)  {  list($username, $domain) = split("@", $email);  return getmxrr($domain, $mxrecords);  }  else  return true;  else  return false;  }  。

域名由各国文字的特定字符集、英文字母、数字及“-”(即连字符或减号)任意组合而成, 但开头及结尾均不能含有“-”,“-”不能连续出现 。 域名中字母不分大小写。域名最长可达60个字节(包括后缀.com、.net、.org等)。  /^[a-z]([a-z0-9]*[-_]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i;  /内容/i 构成一个不区分大小写的正则表达式;  ^ 匹配开始  $ 匹配结束  [a-z] E-Mail前缀必需是一个英文字母开头  ([a-z0-9]*[-_]?[a-z0-9]+)* 和_a_2、aaa11、_1_a_2匹配,和a1_、aaff_33a_、a__aa不匹配,如果是空字符,也是匹配的,*表示0个或者多个。  *表示0个或多个前面的字符.  [a-z0-9]* 匹配0个或多个英文字母或者数字  [-_]? 匹配0个或1“-”,因为“-”不能连续出现  [a-z0-9]+ 匹配1个或多个英文字母或者数字,因为“-”不能做为结尾  @ 必需有个有@  ([a-z0-9]*[-_]?[a-z0-9]+)+ 见上面([a-z0-9]*[-_]?[a-z0-9]+)*解释,但是不能为空,+表示一个或者为多个。  [.] 将特殊字符(.)当成普通字符  [a-z]{2,3} 匹配2个至3个英文字母,一般为com或者net等.  ([.][a-z]{2})? 匹配0个或者1个[.][a-z]{2}(比如.cn等) 我不知道一般.com.cn最后部份是不是都是两位的,如果不是请修改{2}为{起始字数,结束字数}  完美E-Mail正则表达式,附详细讲解,请大家帮忙测试一下! 2.抽取字符串中的email:  。

复制代码代码如下

<?php  function getEmail($str) {  $pattern = "/([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?/i";  preg_match_all($pattern,$str,$emailArr);  return $emailArr[0];  }  $emailstr = "9999@qq.com.cn俺不是米vi地方就开iid邮件列表:fuyongjie@163.com和hh@qq.com;.;;,fuyongjie.100@yahoo.com,fu-1999@sina.com";  $emailArr = getEmail($emailstr);  echo "<pre>";  print_r($emailArr);  echo "</pre>";  ?>打印如下:  Array  (  [0] =>9999@qq.com.cn  [1] =>fuyongjie@163.com  [2] =>hh@qq.com  [3] =>fuyongjie.100@yahoo.com  [4] =>fu-1999@sina.com  )3.比较:第2里的正则里没有了第1的^和$;  。

再看实例  。

复制代码代码如下

function funcemail($str)//邮箱正则表达式  {  return (preg_match('/^[_.0-9a-z-a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,4}$/',$str))?true:false;  }//验证方法一  $str="qbcd@126.com.cn";  preg_match("/^[0-9a-z]+@(([0-9a-z]+)[.])+[a-z]{2,3}$/",$str,$re);  print_r($re);//邮箱验证二  if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {  echo "您的 e-mail 通过初步检查";  }//第三种邮箱验证方法  if (ereg("/^[a-z]([a-z0-9]*[-_.]?[a-z0-9]+)*@([a-z0-9]*[-_]?[a-z0-9]+)+[.][a-z]{2,3}([.][a-z]{2})?$/i; ",$email)){  echo "your email address is correct!";}     else{  echo "please try again!";  }  。

最后此篇关于php中邮箱地址正则表达式实现与详解的文章就讲到这里了,如果你想了解更多关于php中邮箱地址正则表达式实现与详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com