解决方案

<input class="number_box_input" type="number" v-model="val" @input="checkNum($event)"/>
// 方法
checkNum(e) {
	let val = e.target.value.replace(/(^\s*)|(\s*$)/g, "")
	console.log(val);
	if (!val) {
		this.val = '';
		return
	}
	var reg = /[^\d.]/g

	// 只能是数字和小数点,不能是其他输入
	val = val.replace(reg, "")
	// // 保证第一位只能是数字,不能是点
	val = val.replace(/^\./g, "");
	// // 小数只能出现1位
	val = val.replace(".", "$#$").replace(/\./g, "").replace("$#$", ".");
	// // 小数点后面保留2位
	val = val.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
	console.log(val);
	this.$nextTick(() => {
		this.val = val;
	})
}
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐