在現有找到的郵箱表達式不夠滿意的情況下,自己寫了一個。
特性如下:
- 郵箱首字符和末尾字符必須為字母或數字,郵箱名可以全是字母或數字,或者是兩者的組合;
- 連字符"-"、下划線"_" 和英文句號點".",僅能放在字母或數字中間,且不能連續出現(即其單個符號的左右只能是字母或數字);
- 域名可以帶連字符"-", 且可以是多級域名 ,還可以有多個域名后綴;
- 不區分大小寫;
- 不限定郵箱字符串的具體長度。
代碼如下:
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