Javascript电子邮件RegEx问题与JSLint?

时间:2011-04-08 08:55:43

标签: javascript regex escaping email-validation jslint

我尝试使用以下功能验证电子邮件地址的格式是否正确 这个函数工作正常,但它不会构建,因为JSLint给我以下错误。 : error (Lint occured): Unescaped '['.

我尝试转义需要转义的字符,这解决了JSLint的问题,但RegExp不再有效。

有关我应该做什么的任何帮助吗?

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 email.match(re) 
}

2 个答案:

答案 0 :(得分:1)

如果您在 修复内容的角色类中逃避开头“[”(以及结束“]”):

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,}))$/;

我刚刚在http://www.jslint.com/上检查了这一点,它似乎摆脱了错误。

答案 1 :(得分:0)

^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$

试试这个正则表达式