2010-05-18 69 views
2

我試圖創建一個正則表達式,它可以捕獲全部 RFC有效的地址,但如果出現一些誤報(儘管希望沒有那麼多),也可以。這是啥子,我想出了迄今:此電子郵件正則表達式是否排除有效地址?

/^\b\[email protected]\S+\.[^\[email protected]]{2,}\b$/ 

是否有不匹配對這種表達或者你有任何建議,以改善它的任何RFC-有效的地址?我不介意誤報,但如果你也給我看一些,我會很高興。

+0

如果你真的想要,不排斥有效的地址正則表達式,用這一個:''/.+/我 – 2010-05-18 13:35:10

+1

相信,這個答案會來...... – neo 2010-05-18 14:08:53

回答

3

電子郵件地址可能包含嵌套註釋,這種破壞大多數正則表達式的方法。這是一個有效的E-mail地址:

test(Oh (noes, an @) "sign")@(Here comes the domain)domain.com(TLD is com!!) 

即使沒有評論,本地部分可能包括引用字符串,它可能包含空格。 我發現的最佳方法是:尋找@。這是強制性的。所以我會用

/[email protected]+/ 
3
"foo bar"@example.com 

本地部分可以包含空格(它們必須被引用,但它們是有效的)。

0

試試regexbuddy來驗證指令表達式。另一個方便的網站,我經常使用的是regexplib

+2

我懷疑問題是嘗試RE,但找到它不匹配的例子... – Joey 2010-05-18 13:06:43

相關問題