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 回答