2010-09-07 62 views
3

可能重複:
What is the best regular expression for validating email addresses?電子郵件驗證的正則表達式。

我使用的要求對於電子郵件地址的形式。我用正則表達式作爲

.*@.*\..*

但它不是我的一些測試電子郵件ID的做工精細喜歡

dsrasdf @@@ [email protected]

任何一個向我提供了電子郵件驗證正則表達式在asp.net或者我可以用任何其他方法吧。

請給出您的建議。

+0

作爲一個經驗法則:正則表達式中使用'.'之前想至少兩次。請注意'.... @ ......'也符合您的表情。 – Michael 2010-09-07 09:26:36

+0

@Michael:在這種特殊情況下,確實有一個相當寬鬆的驗證是有意義的。實際的電子郵件地址遵循非常複雜的規則,並且通常不值得努力創建過於複雜(讀取錯誤)的正則表達式。例如,一些主要的免費郵件提供商不允許使用完全有效的「+」字符。巴姆。 – 2010-09-07 09:31:05

+0

真,還是使用'.'只應謹慎進行,就是在這種情況下,仍然是錯誤的。恕我直言,這種驗證既不是「太鬆」,也不是「太嚴格」,因爲字符串既不是超集也不是真正的有效電子郵件地址的子集。這只是錯誤的。 – Michael 2010-09-07 09:57:18

回答

5

最好依靠on the framework用於這種東西。

try { 
    address = new MailAddress(address).Address; 
} catch(FormatException) { 
    //address is invalid 
} 
+1

+1現在,這是一個想法! – Bobby 2010-09-07 09:30:00

+0

雖然我只當你使用.NET 4中說,我相當肯定早期版本將無法各類有效的電子郵件地址。 – 2010-09-07 09:37:43

+0

我請你原諒,但是這個代碼片段是OK,因爲.NET 2一個人來捕獲異常,雖然。 [http://msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx] – Vinzz 2010-09-07 09:46:23

1

我使用下面的正則表達式我的電子郵件驗證(不區分大小寫):

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

我不知道的ASP,但我認爲你可以使用它像這樣。

0
^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z{2-4}|[0-9]{1,3})(\]?)$ 
相關問題