需要正则表达式,其中包含:
最大有效小数是十进制前的8位和小数后的4位 所以99999999.9999
我尝试过的常规重复播放 ^ \ d {0,8} [。]?\ d {1,4} $ 失败了123456789 而不仅仅是这个。表示如果小数点不可用,则超过8位数。
在这里测试:http://regexpal.com/
许多人提前感谢!
答案 0 :(得分:9)
^\d{0,8}(\.\d{1,4})?$
您可以使整个十进制可选
答案 1 :(得分:6)
你可以试试这个:
^\d{1,8}(?:\.\d{1,4})?$
或
^[1-9]\d{0,7}(?:\.\d{1,4})?$
如果您不想将零作为第一位数。
如果需要,您可以允许:(。1234)
^[1-9]\d{0,7}(?:\.\d{1,4})?|\.\d{1,4}$
答案 2 :(得分:3)
以上任何一项对我都不起作用。 只有这对我有用
^([0-9]{0,2}((.)[0-9]{0,2}))$
答案 3 :(得分:0)
1-(\ $ +。 [1-9])
2-(\£+。 [1-9])
您可以使用此表达式获取完整的价格数字。
答案 4 :(得分:0)
我正在使用它:
^[1-9]\d{0,7}(\.\d{1-4})$
^ =字符串的开头
[1-9] =至少字符串必须以1到9之间的1个数字开头
\ d {0,7} =可选或最大7倍d(数字:0到9之间的数字)
() =创建一个像子字符串一样的组
。 =需要一个。
\ d {1-4} =最多可填满4次数字
$ 字符串的结尾
答案 5 :(得分:0)
这个正则表达式适用于大多数情况,甚至是负价格,
(\-?\d+\.?\d{0,2})
经过以下测试,
9
9.97
37.97
132.97
-125.55
12.2
1000.00
10000.00
100000.00
1000000.00
401395011
如果价格为 9.97 美元、9.97 英镑或 9.97 欧元,它将验证 9.97 删除符号。