首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求1简单通用正则表达式

2013-10-30 
求一简单通用正则表达式金额控件验证:要非负数,可以为小数点或0,但位数不能超过10位,请问要怎么写网上有找

求一简单通用正则表达式
金额控件验证:要非负数,可以为小数点或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);
        }

热点排行