uniapp 微信小程序开发时 要求输入框只能输入3位小数,在测试时,发现小数点竟然可以多次输入,所以小数点也要限制,只能输入1个小数点才可以。代码记录,方便以后翻阅。
html
<input v-model="data.CarLoad" @input="checkNum($event,'CarLoad')" type="digit" placeholder="请填写"
placeholder-style="font-size:32rpx;color: #D5D5E0;" />
js
checkNum(e, field) {
var num = e.detail.value
console.log(num)
console.log('数据0')
if (num.indexOf(".") == 0) {
//‘首位小数点情况‘
num = num.replace(/[^$#$]/g, "0.");
num = num.replace(/\.{3,}/g, ".");
} else if (!(/^(\d?)+(\.\d{0,3})?$/.test(num))) {
var dot = String(num).indexOf(".")
num = String(num).substring(0, dot + 4);
}
this.$nextTick(function() {
try {
this.data[field] = num
} catch (e) {
uni.showToast({
title: '输入错误',
icon: 'none'
});
}
});
},