电子邮件的正则表达式只允许两个域

时间:2010-12-01 10:06:44

标签: asp.net regex

我必须像这样

为电子邮件ID创建一个正则表达式

xyz@yahoo.com和 xyz@gmail.com

我只需要允许yahoo和gmail作为域而不是任何其他域。我用过这个表达式\ w +([ - +。] \ w +)* @ yahoo.com。它适用于雅虎。但我也希望包括gmail。除了gmail之外,我该如何将其修改为?

我正在使用ASP.NET 2.0

4 个答案:

答案 0 :(得分:4)

替换:

yahoo\.com

使用:

(yahoo\.com|gmail\.com)

或:

(yahoo|gmail)\.com)

答案 1 :(得分:2)

要在您身上添加替代方案,只需要执行(yahoo\.com|gmail\.com),并且该选项应匹配任何一个。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

  1. 阅读this article on email validation,因为你的正则表达式并不完美,如果误报/否定是一个问题
  2. 首先检查您的电子邮件字符串是否包含“@yahoo”或“@gmail”
  3. 使用1.中的信息来检查该字符串是否是有效的电子邮件
  4. 更新:找到现成的电子邮件验证工具here;因为它来自MSDN,它应该是正确的