我正在寻找用于货币目的的表达范围。它需要为1到100万,并允许逗号和句号。我不需要(,和。)的最小/最大值来进行正确的格式化,但是我希望一段时间后的数字是实际分值的最小/最大值2。感谢
在范围内: 640或5,000.35或999,000
不在范围内: 01或1,000,000.01或333,567.678
答案 0 :(得分:1)
这应该这样做:
^(1(\.\d{2})?|[1-9]\d{0,2}(,?\d{3})?(\.\d{2})?)|1((,000){0,2}|(000){0,2})(\.00)?$
但是如果你首先将值标准化(例如删除除数字和.
之外的任何字符)然后再解析它,可能会更容易。
答案 1 :(得分:1)
我建议的是:
使用类似的方法来验证输入是否具有特定格式:
(这是一个演示 - http://regexr.com?30l28)
(1[\.,])?([0-9]{1,3}[\.,])?([0-9]{1,3})([\.,][0-9]{1,2})
然后测试值范围:
是value<1.000.000
?
我的正则表达式绝不是100%完成,但它会验证您的一般数字格式。