2011-04-08 65 views
0

我想通过使用下面的函数来验证电子邮件地址的格式是否正确。
此功能正常工作,但它不会构建为JSLint给我以下错误。 : error (Lint occured): Unescaped '['.Javascript电子邮件RegEx问题与JSLint?

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

在这里我应该做什么帮助?

function validateEmail(email) 
{ 
    var re = /^(([^<>()[\]\\.,;:\[email protected]\"]+(\.[^<>()[\]\\.,;:\[email protected]\"]+)*)|(\ 
    ".+\"))@((\[[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) 
} 

回答

1

如果你逃避你的人物等级开放 '['(以及闭幕 ']'),其应该解决的事情:

var re = /^(([^<>()\[\]\\.,;:\[email protected]\"]+(\.[^<>()\[\]\\.,;:\[email protected]\"]+)*)|(\".+\"))@((\[[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/上检查过它,它似乎摆脱了错误。

+0

感谢那个伊恩 – shane87 2011-04-08 09:21:01

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

试试这个正则表达式

+0

这次给出了同样的lint错误,这次是未转义的' - '。所以当我逃避' - 'RegEx不再工作 – shane87 2011-04-08 09:06:53