正则 只能输入正数 保留两位小数

  • Post author:
  • Post category:其他


 const ChangeNumValue = (tmpVal) => {
    if (tmpVal) {
      var tmpVal = tmpVal.replace(/[^\d\.]/g, '');
      var reg = /^(([0-9]\d*))(\.\d{0})?$/; //正则验证保留 最多允许后输入两位小数
      if (!reg.test(tmpVal)) {
        tmpVal = tmpVal + "";
        tmpVal = tmpVal.substring(0, tmpVal.indexOf(".") + 2);
        var n = (tmpVal.split('.')).length - 1;
        if (n > 1) {
          tmpVal = tmpVal.substring(0, tmpVal.indexOf("."));
        }
      }
      return tmpVal;
    } else {
      return "";
    }
  }

可能会出现输入非数字把前边的清空的现象(建议input用type=number 就不会出现那种清空现象了)。



版权声明:本文为weixin_45731006原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。