2011-04-08 66 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