2013-02-27 20 views
0

我正在嘗試驗證我的電子郵件地址。爲了得到這個,我一直在網上,發現這些Regexs用於驗證的電子郵件 -javascript代碼@

\b[A-Z0-9._%+-][email protected](?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b 

可以說沒有正則表達式通過互聯網的限制。

如何在JavaScript代碼中編碼@? 當用戶按下鍵 - shift + 2 = @

我們可以這樣做嗎?

\b[A-Z0-9._%+-]+(keycode==64)(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b 

我想寫的關鍵,而不是寫簡單@

+0

問題是爲什麼要這樣做? REgex中的鍵碼會讓我感到意外 – 2013-02-27 07:32:39

+0

正則表達式對字符/字符串本身起作用。如果你想匹配'@',你必須寫'@'。 PS:*爲什麼*你想這樣做? – 2013-02-27 07:34:25

+0

@winner_joiner:我有cshtml頁面,當我寫@它將其視爲調用,所以遇到錯誤。 – Manoj 2013-02-27 07:34:33

回答

1

我找到了一種方法,只需輸入十六進制碼爲@ -Sign

這裏是一個小例子(中的javascrip)

"@".replace(/\x40/,".") // Result --> "." 

您的代碼應該是這樣的

var reg = /\b[A-Z0-9._%+-]+\x40(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b/i 
"[email protected]".match(reg) // Result => ["[email protected]"] 

=> Chrome中的Code Testet 25+