jQuery Validation Plugin:使用逗号作为小数分隔符validation十进制数

HTML:


JS:

 $( "#myform" ).validate({ rules: { field: { required: true, number: true } } }); 

这需要字段“字段”中的有效数字。 但是,当使用逗号作为小数分隔符时,它不起作用。 例如:10,25不被视为有效数字。

我从validation插件中获取此示例您可能还会在此处看到一个实时JSFiddle。

我想在validation之前我必须将输入(从逗号转换为点小数分隔符),但是如何?

您可以使用模式规则传递自定义正则表达式模式

 $("#myform").validate({ //for debug only debug: true, rules: { field: { required: true, pattern: /^(\d+|\d+,\d{1,2})$/ } }, messages: { field: { pattern: 'Please use the proper pattern' } } }); 

演示: 小提琴


如果是重复模式,则创建自定义validation规则

 jQuery.validator.addMethod("mynumber", function (value, element) { return this.optional(element) || /^(\d+|\d+,\d{1,2})$/.test(value); }, "Please specify the correct number format"); $("#myform").validate({ //for debug only debug: true, rules: { field: { required: true, mynumber: true } } }); 

演示: 小提琴