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

时间:2013-12-16 02:51:34

标签: c# javascript regex email

我正在尝试使用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; }

此正则表达式适用于除单字母域之外的所有内容。

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

http://regex101.com/r/bA6gU9

3 个答案:

答案 0 :(得分:3)

根据你的例子,这可行:

[\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

实际上,最后,你真正关心的是@.。过去,just send it

答案 1 :(得分:0)

我希望这是你正在寻找的榜样:

  

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

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

答案 2 :(得分:0)

廉价且讨厌没有正则表达式:

    try
    {
        new MailAddress(emailAddress);

    }
    catch (FormatException)
    {
        // not valid
    }