我试图找出如何验证jQuery validate插件中的数字为合法的美国货币,最多两位小数零,不带逗号或美元符号(25000.00,1.00等)
我尝试了这个要点https://github.com/Tokutek/mongo/wiki/Migrating-Single-Server,但似乎需要美元符号($)
jQuery.validator.addMethod("currency", function (value, element) {
return this.optional(element)
|| /^\$(\d{1,3}(\,\d{3})*|(\d+))(\.\d{2})?$/.test(value);
}, "Please specify a valid amount");
我也试过这个Stack Overflow https://gist.github.com/jonkemp/9094324 但验证码不会验证带有两个零的数字(例如1.00)
jQuery.validator.addMethod("currency", function(value, element) {
var isValidMoney = /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
return this.optional(element) || isValidMoney;
},
"Must be monetary (0 or 0.00)"
);
这里是显示这些问题的jsfiddle cliente validation using jQuery validate for currency fields
感谢任何帮助
答案 0 :(得分:4)
我试图找出如何验证jQuery validate插件中的数字为合法的美国货币,最多两位小数零,不带逗号或美元符号(25000.00,1.00等)
只需添加the additional-methods.js
file并使用内置的currency
方法,如下所示......
currency: ["$", false] // dollar sign optional
currency: "$" // dollar sign required (default)
注意:逗号在所有情况下都是可选的。
DEMO:http://jsfiddle.net/d4ywy0fu/2/
注意:Your jsFiddle还包含另一个DOM就绪处理程序中的DOM ready handler。虽然它没有害处,但它完全是多余的。
$(function() { // <- DOM Ready Handler
$(document).ready(function() { // <- DOM Ready Handler
....