首页 > 技术文章 > 各种正则表达式大全

ybtools 2014-02-08 17:43 原文

 public static class Validator
    {
       /// <summary>
       /// 数字
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsNumber(string value)
       {
           return IsMatch(@"^[0-9]*$", value);
       }

       /// <summary>
       /// 非零正整数
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsInt(string value)
       {
           return IsMatch(@"^\+?[1-9][0-9]*$", value);
       }

       /// <summary>
       /// 零和非零开头的数字(包含0的正整数)
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsZeroInt(string value)
       {
           return IsMatch(@"^(0|[1-9][0-9]*)$", value);
       }
       /// <summary>
       /// 26个英文字母、数字、下划线组成的字符串
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsLimitString(string value)
       {
           return IsMatch(@"^[a-zA-Z][a-zA-Z0-9_]*$", value);
       }

       /// <summary>
       /// 电子邮箱
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsEmail(string value)
       {
           return IsMatch(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", value);
       }

       /// <summary>
       /// 身份证号码
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsIdentify(string value)
       {
           return IsMatch(@"^(\d{15}$|^\d{18}$|^\d{17}(\d|X|x))$", value);
       }

       /// <summary>
       /// 手机号码
       /// </summary>
       /// <param name="value"></param>
       /// <returns></returns>
       public static bool IsMobile(string value)
       {
           return IsMatch(@"^(13[0-9]|15[0|3|6|7|8|9]|18[8|9])\d{8}$", value);
       }

       /// <summary>
       /// 电话号码
       /// </summary>
       /// <param name="value"></param>
       public static bool IsPhone(string value)
       {
           return IsMatch(@"^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$", value);
       }

       /// <summary>
       /// 字符串长度验证(是否超过指定最大长度)
       /// </summary>
       /// <param name="value"></param>
       /// <param name="maxLength"></param>
       /// <returns></returns>
       public static bool IsMaxLength(string value, int maxLength)
       {
           if (string.IsNullOrEmpty(value))
               return false;
           //用字节长度比较,而不是字符长度
           return System.Text.Encoding.Default.GetByteCount(value) > maxLength;
       }

       private static bool IsMatch(string expression, string value)
       {
           Regex reg = new Regex(expression);
           return reg.IsMatch(value);
       }
    }

 

推荐阅读