JavaScript 正则表达式之email匹配
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})$/
参考文章
- 名称中可能含有中文
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
