0

必要なものに非常に近い、優れた通貨正規表現をたくさん見つけました。残念ながら、私は正規表現の第一人者ではなく、要件を満たすために現在の正規表現を編集できないようです。

有効な入力を「xxx、xxx.xx」の形式に制限する必要があります。最大許容量は「999,999.99」である必要があり、コンマはオプションです。私は今までこの正規表現を使用しています:

^([0-9]{1,3}(,[0-9]{3})*|([0-9]+))(.[0-9]{2})?$

上限を「999,999.99」にすることができないことを除けば、うまく機能しています。助けてくれてありがとう!



アップデート


私はいじくり回していて、これを思い付くことができました:

/^(?:([0-9]{3}?,?)?[0-9]{3}(?:\.[0-9]?[0-9]?)?)$/

それが機能するかどうかを確認するためにまだテスト中です。 RegexPlanetは、私が試したどの文字列でも合格していませんが、アプリを調べて手動でテストします。

4

2 に答える 2

3

この正規表現を使用する^\d{1,3}(,?\d{1,3}){0,1}(\.\d{0,2})?$

于 2013-03-26T15:42:21.507 に答える
3

burning_LEGIONの回答は、おそらくあなたが望まないと思ういくつかのケースを承認します:
-999,9-9

これらの条件を満たす必要があると仮定します
。-コンマがある場合は、後に3つの数字があります
-ポイントがある場合は、後に2つの数字があります

^\d{1,3}(,?\d{3})?(\.\d{2})?$
于 2013-03-26T16:01:49.340 に答える