邮箱验证-正则表达式

看了很多邮箱正则验证,多多少少都有点问题,主要是每个表达式对应的邮箱规则不太一样。

[email protected]
[email protected]
[email protected]

但没发现明确的邮箱权威规则,暂且邮箱名称按以下规则:
1.由大小写字母,数字,"_ - @" 组成;
2.必须要有@,@两边都有内容,且两边的内容头尾均不为: " - _"
3. " - _ ." 不允许连续使用
4. 发现一般域名后缀 “.com”、".cn" 、".shop" ,新域名甚至会出现 “.cloud”、".fashion",至少2位

得出以下正则:

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

以下拓展:

正则 []有点意思
处理 “-”:
邮箱验证-正则表达式_第1张图片
处理 “|”
邮箱验证-正则表达式_第2张图片
所以要想 使用 “或”,则为 /(a|b)/
处理 “.”
邮箱验证-正则表达式_第3张图片

总结:
[]内的内容一般就是字符串本身,特殊[a-zA-Z0-9]指范围;
欢迎参与讨论指正。

你可能感兴趣的:(邮箱验证-正则表达式)