Vue,input框只能输入数字并且最多保留2位小数

直接上代码

  <input type="number" @input="valueChange" />

js

methods:{

valueChange(e){
        e.target.value = e.target.value.replace(/(^\s*)|(\s*$)/g, "");
        const reg = /[^\d.]/g;

        // 只能是数字和小数点,不能是其他输入
        e.target.value = e.target.value.replace(reg, "");

        // 保证第一位只能是数字,不能是点
        e.target.value = e.target.value.replace(/^\./g, "");
        // 小数只能出现1位
        e.target.value = e.target.value
          .replace(".", "$#$")
          .replace(/\./g, "")
          .replace("$#$", ".");
        // 小数点后面保留2位
        e.target.value = e.target.value.replace(
          /^(\-)*(\d+)\.(\d\d).*$/,
          "$1$2.$3"
        );
}
}

另外赠送一个,不允许input框输入小数

 e.target.value = e.target.value.replace(/[^0-9-]+/,'')

猜你喜欢

转载自blog.csdn.net/weixin_45389051/article/details/113543750