首页 > 解决方案 > javascript中允许负值和十进制值的正则表达式

问题描述

我只想允许后跟数字的四个十进制值,并且可以允许负数。

$(document).on("keyup", "input[name='measuredqty']", function(){
  if (/\D/g.test(this.value)){
    this.value = this.value.match(/^-\d+\.?\d{0,4}/);   
  }
});

标签: javascriptregex

解决方案


这个正则表达式应该做你想做的事:

/^-?\d+(\.\d{0,4})?$/
  • ^强制从字符串的开头开始
  • -?允许一个可选的减号
  • \d+允许一位或多位数字
  • (\.\d{0,4})?表示小数部分是可选的,最多 4 位
  • $强制在字符串末端完成

推荐阅读