/// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public bool IsValidEmail(string email) { try { var addr = new System.Net.Mail.MailAddress(email); return addr.Address == email; } catch { return false; } } /// <summary> /// using System.ComponentModel.DataAnnotations; 4.5 over 涂聚文(Geovin Du)标注 /// </summary> /// <param name="source"></param> /// <returns></returns> public bool IsValidEmailDu(string source) { //https://referencesource.microsoft.com/#System.ComponentModel.DataAnnotations/DataAnnotations/EmailAddressAttribute.cs,54 return new EmailAddressAttribute().IsValid(source); } static Regex ValidEmailRegex = CreateValidEmailRegex(); /// <summary> /// Taken from http://haacked.com/archive/2007/08/21/i-knew-how-to-validate-an-email-address-until-i.aspx /// </summary> /// <returns></returns> private static Regex CreateValidEmailRegex() { string validEmailPattern = @"^(?!.)(""([^"" \]|\["" \])*""|" + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!.).)*)(?<!.)" + @"@[a-z0-9][w.-]*[a-z0-9].[a-z][a-z.]*[a-z]$"; return new Regex(validEmailPattern, RegexOptions.IgnoreCase); } internal bool EmailIsValid(string emailAddress) { bool isValid = ValidEmailRegex.IsMatch(emailAddress); return isValid; } /// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public bool EmailIsValidGeovin(string email) { string expression = "\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"; if (Regex.IsMatch(email, expression)) { if (Regex.Replace(email, expression, string.Empty).Length == 0) { return true; } } return false; } /// <summary> /// /// </summary> /// <param name="email"></param> /// <returns></returns> public static bool IsValidEmailTu(this string email) { string pattern = @"^(?!.)(""([^"" \]|\["" \])*""|" + @"([-a-z0-9!#$%&'*+/=?^_`{|}~]|(?<!.).)*)(?<!.)" + @"@[a-z0-9][w.-]*[a-z0-9].[a-z][a-z.]*[a-z]$"; var regex = new Regex(pattern, RegexOptions.IgnoreCase); return regex.IsMatch(email); } /// <summary> /// /// </summary> /// <param name="emailAddress"></param> /// <returns></returns> public static bool IsValidEmailAddress(string emailAddress) { bool MethodResult = false; try { System.Net.Mail.MailAddress m = new System.Net.Mail.MailAddress(emailAddress); MethodResult = m.Address == emailAddress; } catch //(Exception ex) { //ex.HandleException();https://stackoverflow.com/questions/1365407/c-sharp-code-to-validate-email-address } return MethodResult; } /// <summary> /// /// </summary> /// <param name="InputEmail"></param> /// <returns></returns> public static bool IsValidEmailId(string InputEmail) { Regex regex = new Regex(@"^([w.-]+)@([w-]+)((.(w){2,3})+)$"); Match match = regex.Match(InputEmail); if (match.Success) return true; else return false; } /// <summary> /// /// </summary> /// <param name="emailAddress"></param> /// <returns></returns> public bool ValidateEmail(string emailAddress) { string regexPattern = @"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA-Z]{2,4}$"; Match matches = Regex.Match(emailAddress, regexPattern); return matches.Success; }