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(涂聚文)
浙公网安备 33010602011771号