解决方案 »

  1.   

    ^0|(?!0+$)\d+(\.\d+)$位数不能超过10位, 这个可以设置textbox的maxlength来限制
      

  2.   

    /// <summary>
            /// 字符串是否是数字
            /// </summary>
            /// <param name="strNum">要判断的字符串</param>
            /// <param name="decimalPlaces">最大几位小数,如果是整数就为0</param>
            /// <param name="isNegativeNum">是否可以为负数</param>
            /// <returns>是否是符合条件的数字</returns>
            public static bool IsNumber(string strNum, int decimalPlaces, bool isNegativeNum)
            {
                string regexStr = @"\d+";
                if (decimalPlaces != 0)
                {
                    regexStr += @"(\.\d{0," + decimalPlaces + "})?";
                }
                if (isNegativeNum)
                {
                    regexStr = @"-?" + regexStr;
                }
                regexStr = "^" + regexStr + "$";
                return Regex.IsMatch(strNum, regexStr);
            }