PHP 正则 email语句详解

 更新时间:2009年10月12日 15:01:45   作者:  
PHP正则校验email的代码相信好好学过PHP的人都应该知道下面这段用于eamil校验的语句,但是真正能看懂的就不多了。
复制代码 代码如下:

<?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}$)”
很繁杂是吧,对了,正因为这样,人们才使用正则表达式。

相关文章

  • Python 实用技巧之正则表达式查找和替换文本的操作方法

    Python 实用技巧之正则表达式查找和替换文本的操作方法

    这篇文章主要介绍了Python 实用技巧之正则表达式查找和替换文本的操作方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • grep用法详解 grep与正则表达式

    grep用法详解 grep与正则表达式

    首先要记住的是: 正则表达式与通配符不一样,它们表示的含义并不相同!
    2012-09-09
  • js验证email的正则

    js验证email的正则

    根据楼下的反馈,我测试结果,确实这个函数检测邮箱不完善,请使用《js常用函数2008-8-16》中的isEmail函数
    2008-08-08
  • 十分钟上手正则表达式 下篇

    十分钟上手正则表达式 下篇

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等
    2021-10-10
  • js中使用正则表达式查找字母和数字的方法

    js中使用正则表达式查找字母和数字的方法

    这篇文章主要介绍了 js中使用正则表达式查找字母和数字的方法,在代码底部给大家介绍了js用正则表达式验证密码包含数字和字母的方法,需要的朋友可以参考下
    2017-03-03
  • 如何使用正则匹配最后一个字符串详解

    如何使用正则匹配最后一个字符串详解

    这篇文章主要给大家介绍了关于如何使用正则匹配最后一个字符串的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 正则表达式匹配单行、多行注释思路以及代码详解

    正则表达式匹配单行、多行注释思路以及代码详解

    正则表达式是一种强大的工具,用于在文本中进行模式匹配和搜索,下面这篇文章主要给大家介绍了关于正则表达式匹配单行、多行注释思路以及代码的相关资料,需要的朋友可以参考下
    2023-12-12
  • js:日期正则表达式及检测

    js:日期正则表达式及检测

    js:日期正则表达式及检测...
    2007-04-04
  • 实例代码详解正则表达式匹配换行

    实例代码详解正则表达式匹配换行

    在javascript中,使用正则表达式匹配换行可能会遇到各种问题,下面就通过实例介绍一下如何实现此功能,对正则表达式匹配换行相关知识感兴趣的朋友一起学习吧
    2015-12-12
  • 正则表达式模式匹配字符串基础知识

    正则表达式模式匹配字符串基础知识

    这篇文章主要介绍了正则表达式模式匹配字符串基础知识,分为匹配字符串的基本规则和正则匹配、查找与替代的知识,本文给大家介绍的非常不错,需要的朋友可以参考下
    2017-11-11

最新评论