邮箱正则表达式+正则基本知识点

作者&投稿:主别 (若有异议请与网页底部的电邮联系)
~

一般程序员的姿势

正则表达式正确的运用姿势

今天来搞几个邮箱正则表达式,匹配多级域名,包括中文域名

从上图可以得出,除去“.”号,域名既有英文(最多是6个字符),也有中文(最多是3个汉字)
而现在有很多影子邮箱/百变邮箱,是使用二级域名或者三级域名,所以,我们先列举如下几个邮箱,然后写一个正则表达式,去匹配、判断

不管是什么邮箱,确定会有的字符是“@”和至少一个“.”(这里特指最后一个),那么我们就以这两个确定的符号为分界点,将每个邮箱拆分成3段,对每一段进行正则匹配,最终组成整个邮箱的正则匹配。当然进入下一步之前,先理一理基本知识点。

定义:一个正则可以匹配的字符串的长度不是固定的,使用量词可以达到这种目的。

量词:比如{m , n} :表示连续出现最少 m 次,最多 n 次;跟在一个字符的后面就表示对该字符的限定。

比如邮箱的校验:/^\w+@[a-z0-9]+.[a-z]{2,4}$/,写在了[a-z]后面,表示可以有2到4位的字母

又比如手机号的校验: /^1[3456789]\d{9}$/,跟在了\d后面,表示需要出现9个数字

对于量词的总结:

定义:正则匹配的字符串对于某一位置上的字符来说,它可以有多种可能,不局限于某一类型,使用字符组可以达到这种目的。

字符组:比如[abc],表示该字符是可以字符 "a"、"b"、"c" 中的任何一个。对于这一位置来说,我们可以有3种可能性。

比如手机号的校验: /^1[3456789]\d{9}$/,它在第二个位置,根据一般手机运营商来说,提供手机第二位的数字可以是3到9的任意一个,才符合规范。

如果字符组里表示的字符特别多,可以使用范围表示法,用连字符-来省略和缩写。

比如邮箱的校验:/^\w+@[a-z0-9]+.[a-z]{2,4}$/,它跟在@后面,根据我们邮箱的规范可知,@后面的 [a-z0-9]+ 表示:数字0到9和字母a-z中的至少一个字符

这里简单解析一下:

对于js正则: ([a-z]{2,6}|[\u2E80-\u9FFF]{2,3})

js正则的中文汉字正则表达式来源于手册: https://tool.oschina.net/uploads/apidocs/jquery/regexp.html

对于php正则: ([a-z]{2,6}|[\x7f-\xff]{6,9})

在utf-8编码中,用ASCII码表中的第128~255编码中的3个编码表示一个汉字,这里用十六进制表示

验证一下:

运行结果:

运行结果

全部通过

当然,php正则匹配邮箱,还可以这样子

原理与 /^\w+@([\da-z\.-]+)\.([a-z]{2,6}|[\x7f-\xff]{6,9})/ 类似。

最后,上面的几个正则表达式是居于当前市面上现存的域名进行匹配的,下面提供几个更加宽松的邮箱正则匹配

原理都相似,可以对照理解下。如有误,欢迎留言区批评指正。



电子邮件的正则表达式
答:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)这样一般就可以判断了,呵呵 邮箱正确的话还有错误信息,就是因为你上次判断邮箱有误给的提示信息这次没有去掉,简单一点你刷新以下页面或者是跳转一下页面(从本页跳到本页)就可以啦。呵呵 ...

邮箱地址正则表达式
答:\w匹配字母或数字或下划线或汉字等 - 原型 \. 匹配字符.[0-9]{1,3} 匹配数字 值范围0-9 重复次数 不低于1次 不高于3次 [a-zA-Z] 匹配大小写字母 所有用[ ]包的 都只匹配一个字符 里面写的 只是这个字符可能的值而已 就像枚举 ...

Email地址的正则表达式
答:匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)\w+([-+.]\w+)*配置邮箱前部分 \w+([-.]\w+)*\.\w+([-.]\w+)*配置域名 效果如下:

求一些常用的正则表达试
答:匹配空行的正则表达式:\n[\s| ]*\r 匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/ 匹配首尾空格的正则表达式:(^\s*)|(\s*$) 匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* 匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+...

求详细解释邮箱正则表达式“^([a-zA-Z0-9]|[._])+@([a-zA-Z0-9...
答:^是匹配开头的意思 ([a-zA-Z0-9]|[._])+中 [a-zA-Z0-9]是匹配数字字母 [._]是匹配任意一个字符和下划线 |的意思是或 +意思是前面括号中的内容一次或多次 整体就是匹配字母数字下划线一次到多次 就是@符号 ([a-zA-Z0-9_-])+匹配字母数字下划线-号一次到多次 (\.[a-zA-Z0-9_-])...

邮箱正则js
答:/^\d[a-zA-Z_]+@\d[a-z]+\.[a-z]+$/ 你的这个正则表达式式的意思是:正则开始 第一个字符是数字 然后后面紧跟着从a-z,A-Z,以及下划线中间任取一个或多个 然后是 接着又是数字 接着是从a-z中任取一个或多个 然后是.然后是a-z中任选一个或多个 正则结束 这个邮箱正则肯定是有...

正则表达式在邮箱中的使用
答:^ 在最前面时匹配开始,否则表示非的意思,表示非的时候多用于[]中 匹配结束 你这里的正则是删除字符串首尾的空格 如果只是匹配非空的话这样就可以:function isEmail(theEmail){ if (!/^\s*$/.test(theEmail)){ alert(“请输入您的Email地址,地址不能为空!");return false;} } ...

正则表达式
答:正则经常用于js 判断手机号,邮箱等,通过简单的办法来实现强大的功能 符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^ ...

什么叫“正则表达式”?
答:本文接下来的内容先简要地介绍正则表达式的入门知识,然后以Jakarta-ORO API为例介绍如何使用正则表达式。 一、正则表达式基础知识 我们先从简单的开始。假设你要搜索一个包含字符“cat”的字符串,搜索用的正则表达式就是“cat”。如果搜索对大小写不敏感,单词“catalog”、“Catherine”、“sophisticated”都可以匹配。也...

正则表达式
答:正则经常用于js 判断手机号,邮箱等,通过简单的办法来实现强大的功能 符号解释 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。^ ...