求一简单通用正则表达式
金额控件验证:要非负数,可以为小数点或0,但位数不能超过10位,请问要怎么写
网上有找  \d+(\.{0,1}\d+){0,1} 是非负数。 d{10} 是不能超过10位,用|是分支条件。
有没有与门条件可以写,或者其它方法呀,在线等~~~~
叩谢!!!
              
------解决方案--------------------^0
------解决方案--------------------(?!0+$)\d+(\.\d+)$
位数不能超过10位, 这个可以设置textbox的maxlength来限制
------解决方案--------------------/// <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);
        }