0

入力値を検証するための正規表現があります。

この時点で私は持っています:

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

動作していますが、値が 0,00 でないかどうかを確認するために検証を追加する必要があります

入力は金額値です。可能な値:

12,31
1.234,56
1.234.567,89

ありえない値:

0,00

dijit.form.ValidationTextBox で使用するにはこれが必要です。何かのようなもの:

dijit.byId(nameID).regExp = "([0-9]{0,3}[.]?)*[0-9]{1,3},[0-9]*|[0-9]";
4

1 に答える 1

1

「1.23.4,56」や「0」などの真の文字列をテストするため、正規表現を完全に再考する必要があると思いますが、それはあなたが望むものではないと思います。

次のようなことを試してください:

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

RegExrで正規表現をテストしますが、Javascript は最も完全な正規表現エンジンのすべての機能をサポートしていないことに注意してください。実際、かなり貧弱です。

その他の注意事項:

  1. [.]ドットを一致させるためにトークンを使用しないでください。遅いです。ドットをエスケープするだけです:\.
  2. \dの代わりに使用[0-9]でき、角括弧内でも使用できます[a-f\d\-]。すべての 16 進数の整数文字に使用できます。
于 2012-07-04T16:33:31.340 に答える