1

我正在尝试为数字创建一个 jquery 验证。

它应该首先允许 4 位数字,然后在小数点之后应该允许 1 位数字。

对于十进制,我的代码工作正常:

$.validator.addMethod('Decimal', function(value, element) {
    return this.optional(element) || /^[0-9,\d{4}]+(\.\d{0,1})?$/.test(value); 
  }, "Please enter a correct number, format xxxx.X");

我可能在正则表达式中犯了错误。

4

1 回答 1

3

对于确切的 NNNN.N (1234.5)使用:

/^\d{4}\.\d$/

对于可选的.N (1234 1234. 1234.5),请使用:

/^\d{4}(\.\d?)?$/

对于大小不超过NNNN.N (1 .5 12.5 123. 1234 1234.5)的数字,请使用:

/^(?=.*\d)\d{0,4}(\.\d?)?$/

如果您想在开头允许 +/-,请替换^^[-+]?.

于 2012-07-19T13:29:57.533 回答