做网站制作外包,企业宣传视频,设计软件培训班学费一般多少,建行网上银行登录入口官网今天把正则又复习了一遍#xff0c;为了加深记忆#xff0c;自己写一个邮箱的正则表达式咱们先来看几个合法的邮箱地址hd33322nat123.commaksim.kim.82d-link.uavova_lazarev1969jaagers.comb4-service.szhaopinmail.com通过观察上面几个例子#xff0c;不难看出所有邮箱地址…今天把正则又复习了一遍为了加深记忆自己写一个邮箱的正则表达式咱们先来看几个合法的邮箱地址hd33322nat123.commaksim.kim.82d-link.uavova_lazarev1969jaagers.comb4-service.szhaopinmail.com通过观察上面几个例子不难看出所有邮箱地址都分为两个部分左边是一部分右边为令一部分那么我们可以分成两部分来书写正则表达式左边一般是由数字[0-9]、字母[a-zA-Z]、下划线_、减号-、英文句号.组成似乎没有明确限定长度而且不是以下划线_、减号-、英文句号.来开头或者结尾的那么左边部分可以写成 [0-9a-zA-Z]([.-_]*[0-9a-zA-Z])*右边是域名部分除字母数字英文句号外也可能包含下划线和减号而且还有多级域名但最后的顶级域名比较固定一般是2到6位字母结束例如.cn、.com、.org、.museum等故正则可以表示为 ([0-9a-zA-Z][-_]*[0-9a-zA-Z].)[0-9a-zA-Z]{2,6}两边合并整个表达式为 /^[0-9a-zA-Z]([.-_]*[0-9a-zA-Z])*([0-9a-zA-Z][-_]*[0-9a-zA-Z].)[0-9a-zA-Z]{2,6}$/要注意的是减号-在正则里是连字符英文句号.是元字符所以为了代表他们的字面意思要加上反斜杠进行转义测试一下let emails [hd33322nat123.com,maksim.kim.82d-link.ua,vova_lazarev1969jaagers.com,b4-service.szhaopinmail.com
]
const regulation /^[0-9a-zA-Z]([.-_]*[0-9a-zA-Z])*([0-9a-zA-Z][-_]*[0-9a-zA-Z].)[0-9a-zA-Z]{2,6}$/
console.log(emails.every(email regulation.test(email)))
//true