金銭目的の表現範囲を探しています。100 万から 100 万で、コンマとピリオドを使用できる必要があります。正しい書式設定のために (、および .) の最小/最大は必要ありませんが、ピリオドの後の数字を実際のセント値の最小/最大 2 にしたいと考えています。ありがとう
範囲内: 640 または 5,000.35 または 999,000
範囲外: 01 または 1,000,000.01 または 333,567.678
金銭目的の表現範囲を探しています。100 万から 100 万で、コンマとピリオドを使用できる必要があります。正しい書式設定のために (、および .) の最小/最大は必要ありませんが、ピリオドの後の数字を実際のセント値の最小/最大 2 にしたいと考えています。ありがとう
範囲内: 640 または 5,000.35 または 999,000
範囲外: 01 または 1,000,000.01 または 333,567.678
これはそれを行う必要があります:
^(1(\.\d{2})?|[1-9]\d{0,2}(,?\d{3})?(\.\d{2})?)|1((,000){0,2}|(000){0,2})(\.00)?$
ただし、最初に値を正規化してから(たとえば、数字とを除くすべての文字を削除して.
)、それを解析すると、おそらく簡単になります。
私が提案するのは:
そのようなものを使用して、入力が特定の形式であることを確認します。
(ここにデモがあります-http://regexr.com? 30l28)
(1[\.,])?([0-9]{1,3}[\.,])?([0-9]{1,3})([\.,][0-9]{1,2})
次に、値の範囲をテストします。
はvalue<1.000.000
?
私の正規表現は100%完全ではありませんが、一般的な数値形式を検証します。