通过正则表达式在对邮箱进行认证时候,一些错误的邮箱格式仍能通过.
原因是在使用System.Text.RegularExpressions.Regex.IsMatch(string s)方法返回的是,匹配项
这里的匹配项是指在输入的字符串s中存在符合条件的值(这个值可以为s中的部分匹配项,而我们需要的是这个S字符串是否满足条件所以不能通过这个方式判断)
这里使用的方法是通过正则表达式返回匹配项,然后判断输入的字符串s是否在匹配项中,不存在则不满足条件,反之满足
/// <summary>
/// 正则表达式检测Email格式
/// </summary>
/// <param name="Email"></param>
/// <returns></returns>
public static bool CheckEmail(string Email)
{
bool Flag = false;
string str = "([a-zA-Z0-9_\\.\\-])+\\@(([a-zA-Z0-9\\-])+\\.)+([a-zA-Z0-9]{2,5})+";
string[] result = GetPathPoint(Email, str);
if (result != null)
{
Flag = result.Contains(Email) ? true : Flag;
}
return Flag;
}
/// <summary>
/// 获取正则表达式匹配结果集
/// &l