PHP 正则 email语句详解

2016-02-19 11:33 2 1 收藏

下面图老师小编要向大家介绍下PHP 正则 email语句详解,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

代码如下:

?php  
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,3}$",$email)) {  
echo "您的 E-Mail 通过初步检查";  
}  
?   

在这句话里,首先是应用了一个eregi函数,这个函数还算好理解。随便找本书,就能给你一段解释: 
语法: int ereg(string pattern, string string, array [regs]); 
返回值: 整数/数组 
本函数以 pattern 的规则来解析比对字符串 string。 
比对结果返回的值放在数组参数 regs 之中,regs[0] 内容就是原字符串 string、regs[1] 为第一个合乎规则的字符串、regs[2] 就是第二个合乎规则的字符串,余类推。若省略参数 regs,则只是单纯地比对,找到则返回值为 true。 



而不太好理解的就是前面的这段正则表达式了:^[_.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}$)” php程序员之家 
很繁杂是吧,对了,正因为这样,人们才使用正则表达式。  

来源:http://www.tulaoshi.com/n/20160219/1597856.html

延伸阅读
标签: PHP
  参考了一下网上的文章。俗话说,天下文章一大抄,看你会抄不会抄。关键是能为我所用,这是最重要的。废话不多讲,let‘s go。 其实发mail很简单,php有现成的函数,可以参考php 的 manual,特别是第四个例子,讲的很详细。 关键是怎么把上传附件跟邮件发送结合起来。关于文件的上传,可以参考http://blog.csdn.net/slamdunk3/archive...
标签: Web开发
 if语句的代码的语法非常简单,就是一个 if 判断语句来判断浏览器的类型和版本,使用类似 !--[if lte IE 6] 和 ![endif]-- 语法结构包含起来,代表如果浏览器是 IE 并且版本号低于或等于 6.0 则进行提示。类似的语法还有: !--[if IE] 这样使用IE浏览器(全部版本)的人都看得到。 ![endif]-- !--[if IE 6] 这样IE 6.0版本会看得到,只...
标签: Web开发
body onload="f.a.select();"?phpecho 'a:'.htmlspecialchars($a);echo 'bra1:';$a1 = eregi_replace('(^[_.][:alnum:]-]+@([[:alnum:]][[:alnum:]-]*.)+[[:alpha:]]{2,3}$)',' a href="mailto:\1"\1/a ', $a) ;echo htmlspecialchars($a1);echo "bra1:$a1";echo 'b...
标签: Web开发
RT,正则可以搞定的东西很多哦,大家学习学习吧 一.正则表达式 1.匹配符 1)头匹配符"^":如^0754,只匹配开头为0754的字符串 2)尾匹配符"$":如0754$,只匹配结尾为0754的字符串 3)全字匹配:将^和$结合,如^0754$,匹配0754字符串 2.转义字符 1)空字符: 换行\n 回车\r 制表符\t 2)其他字符: "$" \$ &q...
标签: SQLServer
如果注册的用户数达到一定程度,我们可以在数据库查询语句对其进行统计。 以下SQL语句能够统计出带某种类型后缀的email邮件注册量最大,及其排行顺序。 SELECT suffix_email, COUNT(suffix_email) AS email_count FROM (SELECT SUBSTRING(email, CHARINDEX('@', email), 100) AS suffix_email         FRO...

经验教程

116

收藏

71
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部