校验php语法是否正确,PHP正则校验email语法详解
复制代码 代码如下:
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语法详解相关推荐
- python语法错误概述_Python 错误和异常代码详解
程序中的错误一般被称为 Bug,无可否认,这几乎总是程序员的错... 程序员的一生,始终伴随着一件事 - 调试(错误检测.异常处理).反反复复,最可怕的是:不仅自己的要改,别人的也要改...一万头草泥 ...
- java中文字符怎么保证出现正确_JAVA中文字符编码问题详解
JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...
- 正则之match方法详解
使用 match一般都要结合RegExp的全局g属性来使用的,这样返回的结果是:匹配到的所有结果的数组: let str1 = "12345678";let reg1 = /\d{ ...
- CRC校验算法的解析,暨对网上的CRC详解的补充
一.CRC的形象理解 本文面向对CRC校验有一定基础的读者,如果你不懂,请戳这里.维基百科还有图解版的. 在CRC的具体实现中,如果要计算CRC的数据很长,一般都会用到寄存器,用来保存当前的计算到的C ...
- python正则匹配_python 正则表达式详解
正则表达式是一个很强大的字符串处理工具,几乎任何关于字符串的操作都可以使用正则表达式来完成,作为一个爬虫工作者,每天和字符串打交道,正则表达式更是不可或缺的技能,正则表达式的在不同的语言中使用方式可能 ...
- for of 的用法区别_ES6语法:var、let、const的区别详解
今天来说说es6的语法,最基础的也就是var,let,const 的用法与区别了,我们来看看他们之间的恩怨情仇 首先来说说var,这个只要是学过js的都知道,它是用来声明一个变量的,但是它在开发中也会 ...
- 【贪玩巴斯】带你一起攻克英语语法长难句—— 第一章——简单句详解 2021年12月2日
简单句 1.英汉句法语法的差异? 2.第一个句子--主谓宾 3.什么是英语句子? 4.英语句子的五个基本结构 1.主谓 2.主谓宾 3.主系表 4.主谓双宾 5.主谓宾宾补 5.句子的成分--词性 1 ...
- linux 正则查找email_Linux 正则表达式详解
一.linux文本查找命令 在说linux正规表达式之前,还介绍下linux中查找文本文件常用的三个命令: 1.grep : 最早的文本匹配程序,使用POSIX定义的基本正则表达式(BRE)来匹配文本 ...
- 如何正确安装独立显卡?图文详解教会你安装独立显卡
独立显卡主要是指成独立的办卡存在,需要将其插在抓板的相对应接口上的显卡.同时显卡作为电脑主机中非常重要的组成部分,安装步骤也就有所讲究,才能够很好的提供显示效果以及运行性能.那么要如何正确安装独立显卡 ...
- openssl_sign() 语法+RSA公私钥加密解密,非对称加密算法详解
其实有时候觉得写博客好烦,就个函数就开篇博客.很小的意见事情而已,知道的人看来多取一举,或者说没什么必要,浪费时间,不知道的人就会很郁闷.技术就是这样的,懂的人觉得真的很简单啊,不知道的人真的好难.. ...
最新文章
- 阿里云MVP北京闭门会圆满落幕 多把“利剑”助力开发者破阵蜕变
- Python TimedRotatingFileHandler 多进程环境下的问题和解决方法
- idea alt+insert快捷键中implement
- C# 单元测试简单入门
- 设置UITextField占位符的颜色和字体
- 接口中的默认方法和静态方法
- spring-data-jpa 查询视图
- GetURL (java)
- JAVA追加写文件方法
- python爬取新闻存入数据库_python 爬取古诗文存入mysql数据库的方法
- Spark中RDD与DataFrame与DataSet的区别与联系
- Pygame最小开发框架
- 分享免费的2.4G板载PCB天线封装(AD)、WIFI天线、GSM天线、433M天线
- Codeforces 781B. Innokenty and a Football League
- 为什么世界上最好的语言是php,我们来谈谈PHP为什么是世界上最好的语言?
- 解决直接读取webapp下的文件404问题
- 数据挖掘与数据分析项目链家租房数据(一)数据爬虫
- 当公路的规则与秩序,被昇腾AI时刻守护
- 【路径规划】基于蚁群算法求解运钞车路径规划VRPSD问题matlab代码
- 安装黑苹果时不识别内置磁盘_【让天下没有难装的黑果】3 Legacy传统BIOS使用CLOVER引导在GPT硬盘安装OSX+WIN双系统...
热门文章
- 史上最简明八皇后问题分析与套路总结
- python中对象排序的两种方式
- python json详解
- Ubuntu18.04下KDevelop的使用教程(创建编译执行)
- springboot集成kafka_厉害!腾讯T3-2都还在学的微服务+MySQL+Kafka+boot2.x+虚拟机PDF
- java 枚举 扑克牌_Java入门第三季7-1简易扑克牌作业
- 智能胖墩机器人_我就是那个叫胖墩儿的送货机器人
- bootstrap modal弹出框实现及实现按钮点击复制功能
- EventBus框架原理解析(结合源代码)(上)
- 滚动插件 animatescroll(可以设置要滚动到位置)