Javascript电子邮件验证,我希望在电子邮件ID中不区分.com

时间:2013-05-22 09:35:56

标签: javascript

function validateEmail(email) {
var re =/^[a-z_A-Z\-0-9\.\*\#\$\!\~\%\^\&\-\+\?\|]+@+[a-zA-Z\-0-9]+(.com)$/;  
return re.test(email); 
}

Javascript电子邮件验证。功能正常但.com区分大小写(在这些功能中只接受小写)。我希望在.com中没有区分大小写。

4 个答案:

答案 0 :(得分:2)

在var re:

之后添加“i”
var re =/^[a-z_A-Z\-0-9\.\*\#\$\!\~\%\^\&\-\+\?\|]+@+[a-zA-Z\-0-9]+(.com)$/i; 

请参阅:https://developer.mozilla.org/en/docs/JavaScript/Reference/Global_Objects/RegExp

在这种情况下:a-z和A-Z的双重检查是多余的。使用:

var re =/^[a-z_\-0-9\.\*\#\$\!\~\%\^\&\-\+\?\|]+@+[a-z\-0-9]+(.com)$/i; 

答案 1 :(得分:1)

推荐的解决方案:

1)使用忽略案例标记i,如下所示:/your regex/i。然后,您还可以省略字符类中的大写字母。

其他可能性(不推荐):

2)将您的字符串转换为小写email.toLowerCase()。您可以使用此字符删除字符类中的大写字母。

3)包括以下模式(\.[Cc][Oo][Mm])而不是(.com) - 它的功能太多了。

旁注:

您需要在com:(\.com)之前转义点,否则它将匹配任意字符

答案 2 :(得分:0)

在进行验证之前,将电子邮件地址中的所有字符转换为小写。

答案 3 :(得分:0)

尝试此操作,因为电子邮件ID不区分大小写

    return re.test(email.toLowerCase());