使用数据注释检查特定的电子邮件地址



如何检查用户在特定电子邮件地址中键入的注册信息?例如,我希望我的注册表只允许以下电子邮件地址:

  • @gmail.com
  • @雅虎
  • @live.com

像这样:

[RegularExpression( @"@(gmail|yahoo|live).com$", ErrorMessage = "Invalid domain in email address. The domain must be gmail.com, yahoo.com or live.com")]
public string EmailAddress { get ; set ; }

您甚至不需要正则表达式;您只需使用split()函数获取"@"之后的电子邮件地址部分,并将其与允许的提供商列表进行核对。

这本身并不能保证它是一个格式良好的电子邮件地址(可能需要一个正则表达式,而且有点复杂),但它会确保地址以列表中的一个域结尾。

您可以使用RegularExpressionValidator控件和表达式来查找电子邮件域。您可以在http://www.regexplib.com如果你还没有。

您可能还需要一个CustomValidator来执行相同的服务器端检查。如果用户禁用Javascript,他们可以绕过RegularExpressionValidator。

没有内置,但您可以使用[RegularExpression]。您可以编写从RegularExpressionAttribute派生的自定义EmailAttribute

在这里实现得很好

您可以使用以下正则表达式来检查电子邮件:

^[a-z0-9_\+-]+(\.[a-z0-9_\+-]+)@[a-z0-9]+(\.[a-z0-99]+)\.([a-z]{2,4})$

除此之外,您还可以拥有数据注释扩展,该扩展具有允许验证电子邮件地址的[Email]属性。

相关内容

最新更新