Javascript 如何在此正则表达式中转义字符?
我有这个功能,将验证电子邮件地址。jsLint给出了一个正则表达式错误,它抱怨某些字符被取消转义 有没有办法正确地逃离它们Javascript 如何在此正则表达式中转义字符?,javascript,regex,jslint,Javascript,Regex,Jslint,我有这个功能,将验证电子邮件地址。jsLint给出了一个正则表达式错误,它抱怨某些字符被取消转义 有没有办法正确地逃离它们 var validateEmail = function(elementValue){ var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/; return emailPattern.test(elementValue); }; 您使用的正则表达式是有效的。但我猜JSLin
var validateEmail = function(elementValue){
var emailPattern = /^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/;
return emailPattern.test(elementValue);
};
您使用的正则表达式是有效的。但我猜JSLint会抱怨角色类中
-
前面缺少转义标志:
/^[a-zA-Z0-9._\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,4}$/
仅当字符类中的-
不在字符类的开头或结尾,或者在两个字符之间使用时不表示范围时,才需要对其进行转义
以下是一些有效的示例:
/[-xyz]/ // "-", "x", "y", "z"
/[xyz-]/ // the same as above
/[-]/ // "-"
/[a-z-]/ // "a"-"z", "-"
/[a-b-c]/ // "a"-"b", "-", "c"
您使用的正则表达式是有效的。但我猜JSLint会抱怨角色类中
-
前面缺少转义标志:
/^[a-zA-Z0-9._\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,4}$/
仅当字符类中的-
不在字符类的开头或结尾,或者在两个字符之间使用时不表示范围时,才需要对其进行转义
以下是一些有效的示例:
/[-xyz]/ // "-", "x", "y", "z"
/[xyz-]/ // the same as above
/[-]/ // "-"
/[a-z-]/ // "a"-"z", "-"
/[a-b-c]/ // "a"-"b", "-", "c"
我没有立即看到需要逃走的东西。您可能想尝试使用正则表达式的
/^[A-Z0-9.\uz%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}$/i
。我只是稍微整理了一下,在第一个字段中添加了+
和%
。我没有立即看到需要转义的内容。您可能想尝试使用正则表达式的/^[A-Z0-9.\uz%+-]+@[A-Z0-9.-]+\[A-Z]{2,4}$/i
。我只是稍微整理了一下,在第一个字段中添加了+
和%
。这已经回答了,但是作为一个a端Rexex。Escape是一个用于转义正则表达式中特殊字符的便捷函数。这已经回答了,但是作为一个a端Rexex。Escape是一个用于转义正则表达式中特殊字符的便捷函数。