大家都知道在oninput事件中使用正则表达式来过滤除数字和小数点的其它数字,但是这种方法(也是网上搜索到的最多的方法)存在一个严重问题,就是可以输入多个小数点,比如1.23.45..,下面介绍的办法可以完美解决这个问题。
1、限制只能输入正整数
1 2 3 4 5 6 7 |
<el-input style="width:80px;" @change="update(item)" oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" v-model="item.quantity" placeholder="请输入购买数量" ></el-input> |
2、限制只能输入小数,且指定最大小数位数。本例允许最大两位小数
1 2 3 4 5 6 7 |
<el-input style="width:80px;" oninput="value= value.match(/\d+(\.\d{0,2})?/) ? value.match(/\d+(\.\d{0,2})?/)[0] : ''" @change="update(item)" v-model="item.freight" placeholder="请输入运费" ></el-input> |