csharp:Validate email address using C#
/// <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 = @"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|" + @"([-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 = @"^(?!\.)(""([^""\r\\]|\\[""\r\\])*""|" + @"([-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; }
哲学管理(学)人生, 文学艺术生活, 自动(计算机学)物理(学)工作, 生物(学)化学逆境, 历史(学)测绘(学)时间, 经济(学)数学金钱(理财), 心理(学)医学情绪, 诗词美容情感, 美学建筑(学)家园, 解构建构(分析)整合学习, 智商情商(IQ、EQ)运筹(学)生存.---Geovin Du(涂聚文)