前端(vue 或者原生js)限制只能输入最多两位小数的正数(支付功能,类似微信支付宝转账的输入金额控制)
前言
从做前端开始就一直有需求是要对输入框的值做限制的,这真是个令人头疼的事情,又是限制长度又限制正整数又限制小数。。。反正一大堆。
下面来说说限制转账那样的限制吧,一直找了网上好多博客试过都是没效果,然后就自己来了,
限制输入最多两位小数的正数
直接代码吧
//一定要用原生的input框,反正我用element UI 的input框是不行的,值会保留上一次的结果
<input type=“number” v-model.number=“isMultistageUp.value” @input=“decimalNum2” >
//只能输入两位小数
decimalNum2(e) {
var that = this
console.log(‘e’, e)
// 通过正则过滤小数点后两位
// valueAsNumber是输入框值经过过滤的数字形式 如001就是1
let value=’’;
value = (e.target.valueAsNumber).toString();
value = (value.match(/^\d*(.?\d{0,2})/g)[0]) || null
that.$set(this.isMultistageUp,‘value’,value)
}