繁体   English   中英

如何使用正则表达式验证单字母域名?

[英]How to validate single letter domain names with regex?

我正在尝试使用正则表达式为我的C#MVC模型创建一个验证规则。

[RegularExpression(@"(\w[-._+\w]*\w@\w{1,}.\w{2,3})", ErrorMessage = "* Email Address: Please enter a valid Email Address.")]
public virtual string EmailAddress { get; set; }

此Regex适用于除单字母域之外的所有内容。

这是一个实时预览,如何为该用例创建一个正则表达式?

http://regex101.com/r/bA6gU9

以您的示例为例,这将起作用:

[\w+.]+@\w+\.[\w.]+

http://regex101.com/r/zL2aI3

火柴:

  • tes.t@gmail.co.uk
  • q@q.com
  • a+2@gmail.com
  • +sd@gmail.com
  • a++abc@gmail.com

不匹配:

  • ·$(")@gmail.com
  • ((((@ q.com

最后,实际上,您真正关心的只是一个@和一个. 过去了, 就发送

我希望这是您正在寻找的示例:

([\\w-\\.+]+)@((?:[\\w]+\\.)+)([a-zA-Z]{2,4})

我得到了所有需要匹配的,而不是最后两个匹配。

便宜又讨厌,没有正则表达式:

    try
    {
        new MailAddress(emailAddress);

    }
    catch (FormatException)
    {
        // not valid
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM