以下是可以验证带小数点的数值。可是不能为负数.求大神帮忙修改修改 .
分数不够。请见谅System.prototype.checkInputFloat = function (oInput) {
    //reg = /^(-?\d{1,7})(\.\d{0,2})?$/;    if ('' != oInput.value.replace(/\d{1,}\.{0,1}\d{0,}/, '')) {
        oInput.value = oInput.value.match(/\d{1,}\.{0,1}\d{0,}/) == null ? '' : oInput.value.match(/\d{1,}\.{0,1}\d{0,}/);
    }
}

解决方案 »

  1.   

    这样吗?。不行  if ('' != oInput.value.replace(/^[+-]?(\d+\.)?\d+$/, '')) {
                oInput.value = oInput.value.match(/^[+-]?(\d+\.)?\d+$/) == null ? '' : oInput.value.match(/^[+-]?(\d+\.)?\d+$/);
            }
      

  2.   

    楼主的注释里不是写的很清楚了么 reg = /^(-?\d{1,7})(\.\d{0,2})?$/ 其实楼主想要的是整数位不超过8位数的精度为2位小数的一个float数值。
      

  3.   

    补充一点,楼主既然使用了正则验证,为什么不用test方法去做判断呢