vue+element 中 el-input框 限制只能输入数字及一位小数
海里的鱼-L 人气:3仅个人经验,希望能帮到有需要的人。
第一次写 就话不多说了直接上代码。
<el-input @keyup.native="proving(index)" v-model="item.Price"></el-input>
// 只能输入数字且只有一位小数 proving(e) { // this.form.skus[e].Price 是input的值 // 先把非数字的都替换掉,除了数字和. this.form.skus[e].Price = this.form.skus[e].Price.replace(/[^\d.]/g, ''); // 必须保证第一个为数字而不是. this.form.skus[e].Price = this.form.skus[e]Price.replace(/^\./g, ''); // 保证只有出现一个.而没有多个. this.form.skus[e].Price = this.form.skus[e].Price.replace(/\.{2,}/g, ''); // 保证.只出现一次,而不能出现两次以上 this.form.skus[e].Price = this.form.skus[e].Price.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.'); let index = -1 for (let i in this.form.skus[e].Price) { if (this.form.skus[e].Price[i] === '.') { index = i } if (index !== -1) { if (i - index > 1) { this.form.skus[e].Price = this.form.skus[e].Price.substring(0, this.form.skus[e].Price.length - 1) } } } },
加载全部内容