带有小数和千位分隔符的数字的正则表达式

Swi*_*fty 13 javascript regex decimal

我需要正则表达式来验证一个可能包含千位分隔符或小数的数字使用javascript.最大值为9,999,999.99 最小值0.01 其他有效值: 11,111 11.1 1,111.11

INVALID值: 1111 1111,11 ,111 111,

我全身心地搜索着没有快乐.

Loa*_*oof 18

/^\d{1,3}(,\d{3})*(\.\d+)?$/
Run Code Online (Sandbox Code Playgroud)

关于最小值和最大值......好吧,我不会用正则表达式来做,但你可以在开头添加前瞻:

/^(?!0+\.00)(?=.{1,9}(\.|$))\d{1,3}(,\d{3})*(\.\d+)?$/
Run Code Online (Sandbox Code Playgroud)

注意:这允许0,999.00,因此您可能希望将其更改为:

/^(?!0+\.00)(?=.{1,9}(\.|$))(?!0(?!\.))\d{1,3}(,\d{3})*(\.\d+)?$/
Run Code Online (Sandbox Code Playgroud)

哪个不允许领先0.

编辑:
测试:http://jsfiddle.net/pKsYq/2/