JavaScript 正则表达式之email匹配
-
email 基本格式 ( 名称@域名 )
- 名称部分可以由若干字母、数字、中划线
-、下划线_、点号.组成,所以名称部分的正则表达式可以用[0-9a-zA-Z_\.\-\]+ - 域名部分同样可以由若干字母、数字、中划线
-、下划线_、点号.组成,而域名的结尾则是以点号.连接的若干大小写字母,其正则表达式为[0-9a-zA-Z_\.\-\]+\.([a-zA-Z])+ - 完整的email正则表达式
/^([0-9a-zA-Z_\.\-\])+\@([0-9a-zA-Z_\.\-\])+\.([a-zA-Z]+)$/
- 名称部分可以由若干字母、数字、中划线
-
测试
测试代码:
var pattern = /^([0-9a-zA-Z_\.\-\])+\@([0-9a-zA-Z_\.\-\])+\.([a-zA-Z]+)$/; console.log("pattern.test('cn42du@163.com') = " + pattern.test('cn42du@163.com')); console.log("pattern.test('ifat3_-.@42du.cn') = " + pattern.test('ifat3_-.@42du.cn')); console.log("pattern.test('ifat.@du.sddjcn') = " + pattern.test('ifat.@du.sddjcn'));测试结果:
pattern.test(‘cn42du@163.com’) = true
pattern.test(‘ifat3_-.@42du.cn’) = true
pattern.test(‘ifat.@du.sddjcn’) = true -
优化
- 名称中可能含有中文
[\u4e00-\u9fa5] - 域名结尾处最长可为8位
{2,8} - 优化后的正则表达式
/^([0-9a-zA-Z_\.\-\u4e00-\u9fa5])+\@([0-9a-zA-Z_\.\-\])+\.([a-zA-Z]{2,8})$/
- 名称中可能含有中文
本文详细介绍了使用JavaScript正则表达式进行电子邮件地址匹配的方法。包括基本格式、名称和域名部分的构成元素,提供了完整的正则表达式,并通过测试代码验证了其正确性。最后,针对中文字符和域名长度进行了正则表达式的优化。

5590

被折叠的 条评论
为什么被折叠?



