各种正则表达式大全

时间:2014-02-09 15:49:27   收藏:0   阅读:336
bubuko.com,布布扣
 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);
       }
    }
bubuko.com,布布扣

原文:http://www.cnblogs.com/ybtools/p/3540845.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!