2011-09-02[C#中使用正则表达式验证]

 

验证电话号码的主要代码如下:

public bool IsTelephone(string str_telephone)

        {

            return System.Text.RegularExpressions.Regex.IsMatch(str_telephone, @"^(\d{3,4}-)?\d{6,8}$");

        }

验证手机号码的主要代码如下:

public bool IsHandset(string str_handset)

        {

     return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^[1]+[3,5]+\d{9}");

        }

验证身份证号的主要代码如下:

          public bool IsIDcard(string str_idcard)

        {

            return System.Text.RegularExpressions.Regex.IsMatch(str_idcard, @"(^\d{18}$)|(^\d{15}$)");

        }

验证输入为数字的主要代码如下:

          public bool IsNumber(string str_number)

        {

            return System.Text.RegularExpressions.Regex.IsMatch(str_number, @"^[0-9]*$");

        }

验证邮编的主要代码如下:

          public bool IsPostalcode(string str_postalcode)

        {

     return System.Text.RegularExpressions.Regex.IsMatch(str_postalcode, @"^\d{6}$");

        }

        /// <summary>
        /// 验证暱称长度
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        public static bool CheckNickName(string str)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (str.Length < 4 || str.Length > 18)
            {
                //if (IsChineseChar(str))
                //{
                    return true;
                //}
                //else
                //{
                //    return false;
                //}
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证用户名规则
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        public static bool CheckUsername(string str)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if ((str.Length < 4 || str.Length > 18 || !IsWordAndDigital(str.Substring(0, 1))))
            {
                if (IsChineseChar(str)) {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            else if (!CheckPattern(str, @"^[A-Za-z0-9._\-]*$"))
            {
                if (IsChineseChar(str)) {
                    return true;
                }
                else
                {
                    return false;
                }
            }

            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证密码规则
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        public static bool CheckPassword(string str)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (str.Length < 6 || str.Length > 18)
            {
                return false;
            }
            else if (!CheckPattern(str, @"^[A-Za-z0-9._\-]*$"))
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证email规则
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        public static bool CheckEmail(string str)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (!IsEmail(str))
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证是否为中文字符
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        public static bool CheckChinese(string str)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (!IsChineseChar(str))
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证特殊正则表达式
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <param name='pattern'>正则表达式</param>
        /// <returns>bool</returns>
        public static bool CheckPattern(string str, string pattern)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (!IsPattern(str, pattern))
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        /// <summary>
        /// 验证字符长度
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <param name='min_lng'>最小长度</param>
        /// <param name='max_lng'>最大长度</param>
        /// <returns>bool</returns>
        public static bool CheckLength(string str, int min_lng, int max_lng)
        {
            if (IsAllSpace(str))
            {
                return false;
            }
            else if (str.Length > min_lng && str.Length < max_lng)
            {
                return true;
            }
            else
            {
                return false;
            }
        }

        /// <summary>
        /// 验证邮件
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        private static bool IsEmail(string str)
        {
            string stringPattern = @"^\w+([-+\.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$";
            bool match = Regex.IsMatch(str, stringPattern);
            return match;
        }

        /// <summary>
        /// 验证数字和英文单词
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        private static bool IsWordAndDigital(string str)
        {
            string stringPattern = @"^[A-Za-z0-9]*$";
            bool match = Regex.IsMatch(str, stringPattern);
            return match;
        }

        /// <summary>
        /// 验证中文字符
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        private static bool IsChineseChar(string str)
        {
            string stringPattern = @"^([\u4E00-\u9FA5]|[\uFE30-\uFFA0])*$";
            bool match = Regex.IsMatch(str, stringPattern);
            return match;
        }

        /// <summary>
        /// 验证是否为空
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <returns>bool</returns>
        private static bool IsAllSpace(string str)
        {
            string stringPattern = @"^\s*$";
            bool match = Regex.IsMatch(str, stringPattern);
            return match;
        }

        /// <summary>
        /// 验证正则表达式
        /// </summary>
        /// <param name='str'>验证字符</param>
        /// <param name='pattern'>正则表达式</param>
        /// <returns>bool</returns>
        private static bool IsPattern(string str, string pattern)
        {
            bool match = Regex.IsMatch(str, pattern);
            return match;
        }

        //数字的字符列表
        public static string numbers
        {
            get { return "0123456789"; }
        }

        /// <summary>
        /// 获取数字
        /// </summary>
        /// <param name='o'>数字原型</param>
        /// <param name='returnValue'>默认值</param>
        /// <returns>int</returns>
        public static int IsNumeric(object o, int returnValue)
        {
            string s = (string)(o);
            string v = "";
            string l = numbers;
            for (int i = 0; i < o.ToString().Length; i++)
            {
                string single = s.Substring(i, 1);
                if (l.IndexOf(single) != -1)
                {
                    v += single;
                }
            }
            if (v == "")
                return returnValue;
            return int.Parse(v);
        }

        /// <summary>
        /// 验证IP地址
        /// </summary>
        /// <param name='ip'>验证字符</param>
        /// <returns>bool</returns>
        public static bool IsIP(string ip)
        {
            return Regex.IsMatch(ip, @"^((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)$");
        }

        /// <summary>
        /// 验证数字
        /// </summary>
        /// <param name='strNumber'>验证字符</param>
        /// <returns>bool</returns>
        public static bool IsNumber(string strNumber)
        {
            return new Regex(@"^([0-9])[0-9]*(\.\w*)?$").IsMatch(strNumber);
        }

        /// <summary>
        /// 验证时间
        /// </summary>
        /// <param name='timeval'>验证字符</param>
        /// <returns>bool</returns>
        public static bool IsTime(string timeval)
        {
            return Regex.IsMatch(timeval, "^((([0-1]?[0-9])|(2[0-3])):([0-5]?[0-9])(:[0-5]?[0-9])?)$");
        }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章