正则表达式数值范围1 - 100万

时间:2012-04-14 12:02:15

标签: regex

我正在寻找用于货币目的的表达范围。它需要为1到100万,并允许逗号和句号。我不需要(,和。)的最小/最大值来进行正确的格式化,但是我希望一段时间后的数字是实际分值的最小/最大值2。感谢

在范围内: 640或5,000.35或999,000

不在范围内: 01或1,000,000.01或333,567.678

2 个答案:

答案 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%完成,但它会验证您的一般数字格式。