金额输入限制-只能输入数字,且只能输入两位小数
效果:输入数字时正常输入,小数点后超过两位后就不能再输入,敲键盘无效;输入其他字符时也无效。只能输入不带小数或两位小数的数。
原理:用正则做限制
方法一:
html代码,用的elementUI的输入框组件举例
<el-input v-model="multipleCost" @input="inputFormat" />
js代码
//金额输入限制
inputFormat(val) {
let value = val.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, '$1').replace(/^0+(\d)/, "$1");
this.multipleCost = value
},
方法二:
<el-input v-model="price" v-on:input="price = inputFloatFormatOfTwo(price)">
在methods中定义inputFloatFormatOfTwo方法
inputFloatFormatOfTwo(value) {
const regex = /^\D*(\d*(?:\.\d{0,2})?).*$/g
return value.replace(regex, '$1')
},