直接上代码
<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-]+/,'')