需求分析:input框只允许输入数字,最多允许小数点前面10位,小数点后面2位
<!-- 允许输入数字,调起带符号的纯数字键盘 -->
<van-field v-model="number" type="number"
:maxlength="maxlength" @input="inputFun" />
data() {
return {
number:"",
maxlength:13, //10位整数 + 小数点 + 2位小数,所以是13位
maxValue:"9999999999.99", //输入框能输入的最大值,用来检验
};
},
//输入框输入时 校验如果小数大于两位就截取,如果大于最大值则提示并清空
inputFun(){
if(String(this.number).includes(".")){
let numDian = this.number.toString().split(".")[1].length
if(numDian > 2){
let dotIndex = this.number.indexOf(".")
this.number = this.number.substring(0,dotIndex+3)
}
}
if(Number(this.number)>Number(this.maxValue)){
this.$toast("已超过最大值,请重新输入")
this.number = ""
}
},