我使用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的货币值吗?那么,它可以正确验证数千的货币价值吗?
感谢您的帮助。
答案 0 :(得分:2)
答案 1 :(得分:0)
这将验证从0.00
开始的每个范围^\d{1,3}([,]\d{3})*(\.\d{2})$
如果您想将它仅限于999,999.99,那么请使用此
^\d{1,3}([,]\d{3})?(\.\d{2})$