2010-12-01 97 views
0

我要創建電子郵件ID的正則表達式這樣普通電子郵件表達只允許有兩個域

[email protected][email protected]

我需要只允許雅虎和Gmail作爲域沒有任何其他域。我用這個表達式\ w +([ - +。] \ w +)* @ yahoo.com。它爲雅虎工作正常。但我也想包括Gmail。我怎樣才能修改它,除了Gmail呢?

我使用ASP.NET 2.0

+0

爲什麼不從@ – 2010-12-01 10:07:55

+2

@Tom Gullen檢查子字符串,因爲正則表達式總是*正確的選擇。 – strager 2010-12-01 10:09:02

回答

4

替換:

yahoo\.com 

與:

(yahoo\.com|gmail\.com) 

或:

(yahoo|gmail)\.com) 
2

要使替代你只需要做(yahoo\.com|gmail\.com)並應符合任何一個。

1

+([ - +] \ W +)* @(?:雅虎| GMAIL).COM

0
  1. read在this article on email validation因爲你的正則表達式是不完美的,如果假陽性/陰性是一個問題,如果你的電子郵件字符串包含「@yahoo」或「@gmail」從1
  2. 利用信息來檢查如果
  3. 第一次檢查字符串是一個有效的電子郵件

更新:一個現成的電子郵件驗證可以發現here;因爲它來自MSDN,所以它應該是正確的

相關問題