Jeffid

上下求索

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

在现有找到的邮箱表达式不够满意的情况下,自己写了一个。

特性如下:

  1. 邮箱首字符和末尾字符必须为字母或数字,邮箱名可以全是字母或数字,或者是两者的组合;
  2. 连字符"-"、下划线"_" 和英文句号点".",仅能放在字母或数字中间,且不能连续出现(即其单个符号的左右只能是字母或数字);
  3. 域名可以带连字符"-", 且可以是多级域名 ,还可以有多个域名后缀;
  4. 不区分大小写;
  5. 不限定邮箱字符串的具体长度。

代码如下:

 1     var emailReg=/^[\da-z]+([\-\.\_]?[\da-z]+)*@[\da-z]+([\-\.]?[\da-z]+)*(\.[a-z]{2,})+$/i;
 2 
 3     console.log(emailReg.test('_abc@sample.com')); // false
 4     console.log(emailReg.test('a23..bc@sample.com')); // false
 5     console.log(emailReg.test('a23.-bc@sample.com')); // false
 6     console.log(emailReg.test('a23.bc.@sample.com')); // false
 7     console.log(emailReg.test('a23.bc@@sample.com')); // false
 8     console.log(emailReg.test('2abc@sample.com')); // true
 9     console.log(emailReg.test('2345@sample.com')); // true
10     console.log(emailReg.test('a2-3.b_c3@sample.com')); // true
11     console.log(emailReg.test('a2-3.b_c3@sam-ple.com.CN')); // true

 

posted on 2018-04-12 01:21  Jeffid  阅读(5977)  评论(0编辑  收藏  举报