复制代码 代码如下:

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程序员之家

很繁杂是吧,对了,正因为这样,人们才使用正则表达式。

校验php语法是否正确,PHP正则校验email语法详解相关推荐

  1. python语法错误概述_Python 错误和异常代码详解

    程序中的错误一般被称为 Bug,无可否认,这几乎总是程序员的错... 程序员的一生,始终伴随着一件事 - 调试(错误检测.异常处理).反反复复,最可怕的是:不仅自己的要改,别人的也要改...一万头草泥 ...

  2. java中文字符怎么保证出现正确_JAVA中文字符编码问题详解

    JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...

  3. 正则之match方法详解

    使用 match一般都要结合RegExp的全局g属性来使用的,这样返回的结果是:匹配到的所有结果的数组: let str1 = "12345678";let reg1 = /\d{ ...

  4. CRC校验算法的解析,暨对网上的CRC详解的补充

    一.CRC的形象理解 本文面向对CRC校验有一定基础的读者,如果你不懂,请戳这里.维基百科还有图解版的. 在CRC的具体实现中,如果要计算CRC的数据很长,一般都会用到寄存器,用来保存当前的计算到的C ...

  5. python正则匹配_python 正则表达式详解

    正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...

  6. for of 的用法区别_ES6语法:var、let、const的区别详解

    今天来说说es6的语法,最基础的也就是var,let,const 的用法与区别了,我们来看看他们之间的恩怨情仇 首先来说说var,这个只要是学过js的都知道,它是用来声明一个变量的,但是它在开发中也会 ...

  7. 【贪玩巴斯】带你一起攻克英语语法长难句—— 第一章——简单句详解 2021年12月2日

    简单句 1.英汉句法语法的差异? 2.第一个句子--主谓宾 3.什么是英语句子? 4.英语句子的五个基本结构 1.主谓 2.主谓宾 3.主系表 4.主谓双宾 5.主谓宾宾补 5.句子的成分--词性 1 ...

  8. linux 正则查找email_Linux 正则表达式详解

    一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 ...

  9. 如何正确安装独立显卡?图文详解教会你安装独立显卡

    独立显卡主要是指成独立的办卡存在,需要将其插在抓板的相对应接口上的显卡.同时显卡作为电脑主机中非常重要的组成部分,安装步骤也就有所讲究,才能够很好的提供显示效果以及运行性能.那么要如何正确安装独立显卡 ...

  10. openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解

    其实有时候觉得写博客好烦,就个函数就开篇博客.很小的意见事情而已,知道的人看来多取一举,或者说没什么必要,浪费时间,不知道的人就会很郁闷.技术就是这样的,懂的人觉得真的很简单啊,不知道的人真的好难.. ...

最新文章

  1. 阿里云MVP北京闭门会圆满落幕 多把“利剑”助力开发者破阵蜕变
  2. Python TimedRotatingFileHandler 多进程环境下的问题和解决方法
  3. idea alt+insert快捷键中implement
  4. C# 单元测试简单入门
  5. 设置UITextField占位符的颜色和字体
  6. 接口中的默认方法和静态方法
  7. spring-data-jpa 查询视图
  8. GetURL (java)
  9. JAVA追加写文件方法
  10. python爬取新闻存入数据库_python 爬取古诗文存入mysql数据库的方法
  11. Spark中RDD与DataFrame与DataSet的区别与联系
  12. Pygame最小开发框架
  13. 分享免费的2.4G板载PCB天线封装(AD)、WIFI天线、GSM天线、433M天线
  14. Codeforces 781B. Innokenty and a Football League
  15. 为什么世界上最好的语言是php,我们来谈谈PHP为什么是世界上最好的语言?
  16. 解决直接读取webapp下的文件404问题
  17. 数据挖掘与数据分析项目链家租房数据(一)数据爬虫
  18. 当公路的规则与秩序,被昇腾AI时刻守护
  19. 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
  20. 安装黑苹果时不识别内置磁盘_【让天下没有难装的黑果】3 Legacy传统BIOS使用CLOVER引导在GPT硬盘安装OSX+WIN双系统...

热门文章

  1. 史上最简明八皇后问题分析与套路总结
  2. python中对象排序的两种方式
  3. python json详解
  4. Ubuntu18.04下KDevelop的使用教程(创建编译执行)
  5. springboot集成kafka_厉害!腾讯T3-2都还在学的微服务+MySQL+Kafka+boot2.x+虚拟机PDF
  6. java 枚举 扑克牌_Java入门第三季7-1简易扑克牌作业
  7. 智能胖墩机器人_我就是那个叫胖墩儿的送货机器人
  8. bootstrap modal弹出框实现及实现按钮点击复制功能
  9. EventBus框架原理解析(结合源代码)(上)
  10. 滚动插件 animatescroll(可以设置要滚动到位置)