我需要正则表达式来使用 javascript 验证可能包含千位分隔符或小数的数字。
最大值为 9,999,999.99
最小值 0.01
其他有效值:
11,111
11.1
1,111.11
无效值:
1111
1111,11
,111
111,
我找遍了,没有任何乐趣。
最佳答案
/^\d{1,3}(,\d{3})*(\.\d+)?$/
关于最小值和最大值......好吧,我不会用正则表达式来做,但你可以在开头添加前瞻:
/^(?!0+\.00)(?=.{1,9}(\.|$))\d{1,3}(,\d{3})*(\.\d+)?$/
注意:这允许 0,999.00
,因此您可能希望将其更改为:
/^(?!0+\.00)(?=.{1,9}(\.|$))(?!0(?!\.))\d{1,3}(,\d{3})*(\.\d+)?$/
不允许前导 0。
编辑:
测试:http://jsfiddle.net/pKsYq/2/
关于javascript - 带小数点和千位分隔符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16148034/