更长的域名扩展和ASP.NET MVC验证

本文关键字:ASP NET MVC 验证 扩展 域名 | 更新日期: 2023-09-27 17:59:42

一位客户抱怨无法注册到我们的ASP.NET MVC网站,因为他的电子邮件如下:

name.surname@innovation.world 

以下是标准的ASP.NET MVC RegisterModel:

public class RegisterModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }
    [Required]
    [DataType(DataType.EmailAddress)]
    [Display(Name = "Email")]
    [RegularExpression(@"^[_a-zA-Z0-9-]+('.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+('.[a-zA-Z0-9-]+)*('.[a-zA-Z]{2,4})$", ErrorMessage = "Email must be valid")]
    public string Email { get; set; }
    ...
}

如何更改正则表达式以考虑这些新的较长域名扩展?

谢谢。

更长的域名扩展和ASP.NET MVC验证

我敢肯定,您可以通过使用以下网站自己解决这个问题:http://regexr.com/

也就是说,我自己并不熟悉regex,但我使用上面的网站来解决您的问题。要扩展检查,只需更新表达式末尾的{2,4}即可。请尝试{2,6}。这适用于"World"TLD,但现在可能有更好的正则表达式用于电子邮件检查。