【问题标题】:regular express match e-mail domain正则表达式匹配电子邮件域
【发布时间】:2015-08-07 18:04:39
【问题描述】:

如何使用正则表达式检查电子邮件地址,确保电子邮件中的域是特定域。我正在使用 asp.net

示例。我的公司名称是 ABC,所有员工的电子邮件地址都在 域 abc.com 上(例如 john.doe**@abc.com** 或 donal.smith* *@abc.com**)

我的应用程序不应允许输入以@abc.com 以外的域结尾的电子邮件地址。输入电子邮件 john.oh**@gmail.com *应该失败***但 john.oh**@abc.com *应该通过***。

域可以是大小写混合,大写或小写。应该允许@Abc.com、@abc.com、@ABC.com 等。

我认为 .把我甩了。

感谢观看

【问题讨论】:

  • 这可以用一个非常简单的正则表达式来匹配——我的意思是,从字面上看,你希望匹配的字符串,点已转义。您遇到的具体问题是什么?
  • 为什么需要正则表达式?你可以只使用email.ToLower().EndsWith("abc.com"),假设电子邮件是一个字符串变量。

标签: asp.net regex email


【解决方案1】:

使用此正则表达式检查所有域名。

"(?i)^.+@abc[.]com$"

"^.+@[Aa][Bb][Cc][.][Cc][Oo][Mm]$"

【讨论】:

  • 谢谢。当我使用确切的表达式时,它失败了。当我使用 ^.+@abc[.]com$" 它在 @abc.com 时有效,但在大小写不同时无效。进行一些搜索,似乎 (?i) 应该允许不区分大小写的匹配,但它是在 Visual Studio asp.net 中不适合我。
  • 感谢 Avinash,它成功了并教会了我一些关于正则表达式的知识,非常感谢。
猜你喜欢
  • 2018-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多