2012-11-26 147 views
0

我需要有關.net驗證正則表達式的幫助。我需要驗證電子郵件的CSV列表。我們目前使用:[\w\.\-][email protected][a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,4}){1,2}驗證電子郵件。我也有[0-9]+(,[0-9]+)*驗證數字CSV:10或1,3,5等正則表達式CSV電子郵件

將這兩個結合成[\w\.\-][email protected][a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,4}){1,2}+(,[\w\.\-][email protected][a-zA-Z0-9\-]+(\.[a-zA-Z0-9\-]{1,})*(\.[a-zA-Z]{2,4}){1,2}+)結果成爲嵌套量詞+。我找不出一個合適的正則表達式來驗證電子郵件和csv列表。

單獨拆分和驗證並不是一個簡單的選項。

+5

你是什麼問題呢?爲什麼不使用['MailAddress'](http://msdn.microsoft.com/en-us/library/system.net.mail.mailaddress.aspx)類來驗證電子郵件地址? – Oded

回答

0

變得瘋狂和使用RFC 2822語法»

^(?:(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])(?:,(?=.))?)+$ 

 

enter image description here