0

金銭目的の表現範囲を探しています。100 万から 100 万で、コンマとピリオドを使用できる必要があります。正しい書式設定のために (、および .) の最小/最大は必要ありませんが、ピリオドの後の数字を実際のセント値の最小/最大 2 にしたいと考えています。ありがとう

範囲内: 640 または 5,000.35 または 999,000

範囲外: 01 または 1,000,000.01 または 333,567.678

4

2 に答える 2

1

これはそれを行う必要があります:

^(1(\.\d{2})?|[1-9]\d{0,2}(,?\d{3})?(\.\d{2})?)|1((,000){0,2}|(000){0,2})(\.00)?$

ただし、最初に値を正規化してから(たとえば、数字とを除くすべての文字を削除して.)、それを解析すると、おそらく簡単になります。

于 2012-04-14T12:12:56.107 に答える
1

私が提案するのは:

  • そのようなものを使用して、入力が特定の形式であることを確認します。

    (ここにデモがあります-http://regexr.com? 30l28

    (1[\.,])?([0-9]{1,3}[\.,])?([0-9]{1,3})([\.,][0-9]{1,2})

  • 次に、値の範囲をテストします。

    value<1.000.000


私の正規表現は100%完全ではありませんが、一般的な数値形式を検証します。

于 2012-04-14T12:20:34.907 に答える