日期:2014-05-18  浏览次数:20427 次

如何判断邮件地址是否规范?
要求能骗过System.Net.Mail就可以了,因为发邮件时遇到不规范地址会报错。

------解决方案--------------------
用正则表达式

\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*


为增加程序的健壮性对错误应该进行处理,或者干脆屏蔽错误
------解决方案--------------------
JScript code


function IsMail(mail) 
{ 
    var patrn = /^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/; 
    return patrn.test(mail);
}

------解决方案--------------------
C# code

/// <summary>
        /// Email 格式是否合法
        /// </summary>
        /// <param name="StrEmail">源字符串</param>
        public static bool IsEmail(string StrEmail)
        {
            return Regex.IsMatch(StrEmail, @"^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$");
        }

------解决方案--------------------
string mailAddress = "adsfasfd";
try
{
MailAddress temp = new MailAddress(mailAddress);
}
catch(Execption ex)
{
//邮件地址不规范
}
------解决方案--------------------
探讨
C# code
/// <summary>
/// Email 格式是否合法
/// </summary>
/// <param name="StrEmail">源字符串</param>
public static bool IsEmail(string StrEmail)
{
return Regex.IsMatch(StrEmail, @"^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$");
}