0

jquery 検証プラグインを使用しており、通貨をチェックするメソッドを追加しました。メソッドは次のとおりです。

j$.validator.addMethod("money", function(value, element) {
            return this.optional(element) || /^(\d{1,3})(\.\d{2})$/.test(value);
            //return this.optional(element) || /^((?:\d{1,3},)?\d{1,3})(\.\d{2})$/.test(value);
        }, "Must be in US currency format 0.99");

これにより、0.00 から 999.99 までの値が正しく検証されます。しかし、1,000.00 に達するとすぐに、メソッドは false を返します。私は正規表現が苦手ですが、正規表現は 1,000.00 以上の値と一致しないのでしょうか?

0.00 から 999,999.99 までの通貨値に一致するように正規表現を変更する方法を教えてください。では、通貨の値を数千単位で正しく検証できるのでしょうか?

助けてくれてありがとう。

4

2 に答える 2

2

この正規表現を試してください:

^\d{1,3}(?:,\d{3})?(?:\.\d{2})?$

ライブデモ

于 2012-12-21T20:37:14.253 に答える
0

これにより、0.00 から始まるすべての範囲が検証されます

^\d{1,3}([,]\d{3})*(\.\d{2})$

999,999.99 だけにしたい場合は、これを使用します

^\d{1,3}([,]\d{3})?(\.\d{2})$
于 2012-12-21T20:32:45.940 に答える