邮箱表达方式,邮箱表达式

hacker2022-09-26黑客服务218

JS 邮箱正则表达式

/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g

开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。

代码如下:

script type="text/javascript" 

function isEmail(str){ 

var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/; 

return reg.test(str); 

var str = 'test@hotmail.com'; 

document.write(isEmail(str)+'br /'); 

var str2 = 'test@sima.vip.com'; 

document.write(isEmail(str2)+'br /'); 

var str3 = 'te-st@qq.com.cn'; 

document.write(isEmail(str3)+'br /'); 

var str4 = 'te_st@sima.vip.com'; 

document.write(isEmail(str4)+'br /'); 

var str5 = 'te.._st@sima.vip.com'; 

document.write(isEmail(str5)+'br /'); 

/script

扩展资料:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

参考资料:正则表达式百度百科

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

一般程序员的姿势

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

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

从上图可以得出,除去“.”号,域名既有英文(最多是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正则的中文汉字正则表达式来源于手册:

对于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})/ 类似。

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

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

邮箱正则表达式 js

var reg = /^((([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})[; ,])*(([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})))$/;

和你的一样,亲

邮箱地址正则表达式

\w匹配字母或数字或下划线或汉字等

- 原型

\. 匹配字符.

[0-9]{1,3} 匹配数字 值范围0-9 重复次数 不低于1次 不高于3次

[a-zA-Z] 匹配大小写字母

所有用[ ]包的 都只匹配一个字符 里面写的 只是这个字符可能的值而已 就像枚举

验证电子邮箱的正则表达式

(\\w+)(\\.\\w+)*(\\@\\w+){1}(\\.[a-z]{2,3}){1,2}

简单的支持 :aaa@bb.cc(例如:xiaoming@qq.cn)

复杂的支持:aaa.bbb.ccc.ddd....@eee.fff.ggg--(.fff.ggg-例如.com.cn)

(例如:xiaoming.mama.baba.yeye.nainai...@qq.cn.com)

\\w :匹配任何字类字符,包括下划线。与"[A-Za-z0-9_]"等效。

(\\.\\w+)*: 表示".aaa"可以多个也可以没有.

(\\@\\w+){1}: 表示"@bbb"有且存在一个.

[a-z]{2,3} :表示不需要数字2-3个 例如"aa","bbb".

(\\.[a-z]{2,3}){1,2} :表示 ".aa(a)"有1-2个,例如".com.cn"

评论列表

访客
访客
2022-09-26

表达式是居于当前市面上现存的域名进行匹配的,下面提供几个更加宽松的邮箱正则匹配 原理都相似,可以对照理解下。如有误,欢迎留言区批评指正。邮箱正则表达式 jsvar 

访客
访客
2022-09-26

JS 邮箱正则表达式/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后

访客
访客
2022-09-26

+(.[a-zA-Z0-9_-])+/; return reg.test(str); } var str = 'test@hotmail.com'; document.write(isEmail(str)+'br /'); var str2 =

访客
访客
2022-09-26

点“.”和单词字符和-的组合,可以有一个或者多个组合。代码如下:script type="text/javascript" function isEmail(str){ var reg = /^([a-zA-Z0-9_-])+@([a

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。