繁体   English   中英

.Net mvc4中的电子邮件验证

[英]Email Validation in .Net mvc4

目前,我正在使用以下代码进行电子邮件验证,但它确实验证了dsgf @ g邮件ID,请帮助我

[Required(ErrorMessage = "Please Enter Email Id")]
[Display(Name = "Email-Id")]
[EmailAddress(ErrorMessage = "Invalid Email Address")]
public string Cust_Email { get; set; }

EmailAddress属性会将dsgf@g标记为有效,因为它是一个完全有效的电子邮件地址,因此该方法没有任何问题。 例如,考虑示例username@localhost

如果不合适,则可以使用正则表达式ti设置自己的验证规则。 尝试改用'RegularExpression'属性,例如:

[RegularExpression("^[^@\s]+@[^@\s]+(\.[^@\s]+)+$", ErrorMessage = "Invalid Email Address")]
public string Cust_Email { get; set; }

要么

[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Invalid Email Address")]
public string Cust_Email { get; set; }

该电子邮件完全有效。

如果您想进行验证,只需不要使用正则表达式进行验证。 向他发送一个必须输入的密码到该电子邮件地址。 电子邮件地址现在可以包含ä,ö,ü,à等字符,这可能很难匹配正确的字符..如果您真的想使用正则表达式对其进行验证,则可以采用RFC822标准:在这里找到: http : //www.ex-parrot.com/pdw/Mail-RFC822-Address.html (对此很有趣-不想发布,它太长了)

扩展方法呢?

    public static bool IsValidEmail(this string email)
{
    bool rt = false;
    try
    {
        var mail = new System.Net.Mail.MailAddress(email);
        rt = mail.Host.Contains(".");
    }
    catch { }
    return rt;
}

暂无
暂无

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

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