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

相关文章

  • javascript中使用正则表达式实现删除字符串中的前后空格

    javascript中使用正则表达式实现删除字符串中的前后空格

    在前台应用进我们经常会碰到要删除用户输入的字符中的空格的问题,下面我们来介绍一下javascript中使用正则表达式实现删除字符串中的空格方法
    2012-09-09
  • 正则表达式匹配括号外的符号及数据

    正则表达式匹配括号外的符号及数据

    这篇文章主要介绍了正则表达式匹配括号外的符号及数据,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-06-06
  • 正则中的圆括号()的用途详解

    正则中的圆括号()的用途详解

    正则表达式中的圆括号的作用是对字符进行分组,并保存匹配的文本。今天我们就来详细探讨下正则中的圆括号()的用途,希望对大家学习正则有所帮助。
    2015-04-04
  • 利用正则表达式抓取博客园列表数据

    利用正则表达式抓取博客园列表数据

    这篇文章主要介绍了利用正则表达式抓取博客园列表数据的相关资料,需要的朋友可以参考下
    2015-09-09
  • 浅析lastIndex对正则表达式结果的影响

    浅析lastIndex对正则表达式结果的影响

    js中正则表达式的使用方式有两种,一种是正则表达式对象的方法,一种是字符串对象的方法。下面通过本文给大家分享lastIndex对正则表达式结果的影响,需要的朋友参考下吧
    2017-11-11
  • 利用正则表达式将字符串分组示例代码

    利用正则表达式将字符串分组示例代码

    这篇文章主要给大家介绍了关于利用正则表达式将字符串分组的相关资料,文中分别介绍了利用itertools模块的groupby()方法和利用正则表达式是如何实现的,通过示例代码介绍的非常详细,需要的朋友们下面来一起看看吧。
    2017-08-08
  • shell脚本中的正则表达式详解

    shell脚本中的正则表达式详解

    正则表达式是通过一些特殊字符的排序,用以删除、查找、替换一行或者多行文字字符串的程序,本文给大家介绍shell脚本正则表达式的相关知识,感兴趣的朋友一起看看吧
    2021-07-07
  • JavaScript RegExp 正则表达式对象详细说明

    JavaScript RegExp 正则表达式对象详细说明

    RegExp 对象表示正则表达式,它是对字符串执行模式匹配的强大工具。
    2010-12-12
  • 在nest.js中通过正则表达式正确设置验证的方法

    在nest.js中通过正则表达式正确设置验证的方法

    这篇文章主要介绍了在nest.js中通过正则表达式正确设置验证的方法,文末给大家补充介绍了js正则表达式验证大全,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 正则表达式匹配ip地址超级详细讲解

    正则表达式匹配ip地址超级详细讲解

    这篇文章主要给大家介绍了关于正则表达式匹配ip地址超级详细讲解的相关资料,IP地址正则表达式由四个部分组成,每个部分都是由一个或多个数字或数字区间组成,中间用.连接,需要的朋友可以参考下
    2023-12-12

最新评论