簡體   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