jQuery验证:在dot之后接受一个或两个数字

时间:2015-03-23 17:43:18

标签: jquery regex validation

我将此自定义验证器用于货币字段,它接受$ sign,以及点或逗号。但它并不完美:

$.validator.addMethod("money", function(value, element) {
    return this.optional(element) || value.match(/^\$?(\d+(?:[\.\,]\d{2})?)\s?\$?$/);
}, Error money message ...");

问题是:

122.22 $被接受了,这就是那个 122.2 $不被接受,但我想接受点/逗号后的一位或两位数

有可能吗?

由于

1 个答案:

答案 0 :(得分:2)

只需将\d{2}替换为\d{1,2}

^\$?(\d+(?:[\.\,]\d{1,2})?)\s?\$?$

Demo

{n,m}语法表示: n m 之间。