无法弄清楚为什么jsLint在正则表达式中抛出未转义的'['

时间:2014-05-26 09:39:31

标签: javascript regex jslint

这是我的功能,

function validateEmail(email) { 
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test(email);

}

JsLint在重新声明中抛出未转义的'['!正则表达式的构造有什么问题吗?

1 个答案:

答案 0 :(得分:4)

在正则表达式的第一部分([^<>()[\]\\.,;:\s@\"]+)中,您可能需要转义内部[

[^<>()\[\]\\.,;:\s@\"]+
       ^

这也必须在正则表达式的下一部分中完成。

相关问题