当前位置:首页 > Windows程序 > 正文

C# 校验 正则

2024-03-31 Windows程序

/// <summary>
/// 是否邮箱
/// </summary>
/// <param>邮箱地址</param>
/// <param>是否按严格模式验证</param>
/// <returns></returns>
public static bool IsEmail(string value, bool isRestrict=false)
{
    if (value.IsEmpty())
    {
        return false;
    }
    string pattern = isRestrict
        ? @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&‘\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$"
        : @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
       
    return value.IsMatch(pattern, RegexOptions.IgnoreCase);
}

/// <summary>
/// 是否存在邮箱
/// </summary>
/// <param>值</param>
/// <param>是否按严格模式验证</param>
/// <returns></returns>
public static bool HasEmail(string value, bool isRestrict = false)
{
    if (value.IsEmpty())
    {
        return false;
    }
    string pattern = isRestrict
        ? @"^(?("")("".+?""@)|(([0-9a-zA-Z]((\.(?!\.))|[-!#\$%&‘\*\+/=\?\^`\{\}\|~\w])*)(?<=[0-9a-zA-Z])@))(?(\[)(\[(\d{1,3}\.){3}\d{1,3}\])|(([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,6}))$"
        : @"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$";
    return value.IsMatch(pattern, RegexOptions.IgnoreCase);
}

温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/39174.html

Jm-杰米博客Jamie
草根站长的技术交流乐园!IT不会不要紧快来好好学习吧!
  • 20786文章总数
  • 7494595访问次数
  • 建站天数
  • 友情链接