邮箱正则表达式(用js正则验证邮箱格式)

 分类:js知识时间:2022-05-02点击:

如何用js正则验证邮箱格式,首先要知道邮箱格式有哪几种,比如常用的QQ邮箱就是纯数字的,邮箱域至少有一个“.”和两个单词,再严格点那么最后的顶级域至少要2个字母,最大呢?以域名“name”为准,那么最大就是4,宽松点就设为5吧。

邮箱正则表达式

一、市面上有以下几种邮箱格式:

1、纯数字的QQ邮箱,比如:1917843637@qq.com

2、纯字母,比如:dfvdfdf@7dadi.com

3、字母数字混合,比如:df666kkkdf@7dadi.com

4、带点的,比如:dfvdf.df@7dadi.com

5、带下划线,比如:dfvdf_df@7dadi.com

6、带连接线,比如:dfvdf-df@7dadi.com 

二、邮箱格式说明:

1、邮箱域至少有一个“.”和两个单词,再严格点那么最后的顶级域至少要2个字母,最大呢?以域名“name”为准,那么最大就是4,宽松点就设为5吧^_^。 

2、当然以上不可能的情况:以“_”或“-”开头或者结尾,包含特殊符号的。 

因此,得出的js邮箱正则表达式为: 

[a-zA-Z0-9]+([-_.][A-Za-zd]+)*@([a-zA-Z0-9]+[-.])+[A-Za-zd]{2,5}$

三、js邮箱正则表达式实例代码:

 //利用字面量创建js正则表达式
 let reg = /^[a-zA-Z0-9]+([-_.][A-Za-zd]+)*@([a-zA-Z0-9]+[-.])+[A-Za-zd]{2,5}$/
 console.log(reg.test('7dadi.com')) //false 不是邮箱
 console.log(reg.test('1917843637@qq.com')) //true是邮箱(纯数字的QQ邮箱)
 console.log(reg.test('dfvdfdf@7dadi.com')) //true是邮箱(纯字母)
 console.log(reg.test('df666kkkdf@7dadi.com')) //true是邮箱(字母数字混合)
 console.log(reg.test('dfvdf.df@7dadi.com')) //true是邮箱(带点的)
 console.log(reg.test('dfvdf_df@7dadi.com')) //true是邮箱(带下划线)
 console.log(reg.test('dfvdf-df@7dadi.com')) //true是邮箱(带连接线)

四、控制台打印的结果:

邮箱正则表达式

除注明外的文章,均为来源:老汤博客,转载请保留本文地址!
原文地址: