<el-input
v-model="price"
@input="price = price.replace(/[^\d.]/g, '').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')"
@blur="idChange"
placeholder="请输入数字"
>
</el-input>
// 写入报价
idChange(val) {
this.price = val
},
.replace(/[^\d.]/g, '') // 清除“数字”和“.”以外的字符
.replace(/^\./g, '') // 保证第一个为数字而不是.
.replace(/\.{2,}/g, '.') // 只保留第一个. 清除多余的
.replace('.', '$#$') // 将数字的点替换成复杂字符$#$
.replace(/\./g, '') // 将字符串的点直接清掉
.replace('$#$', '.') // 将复杂字符再转换回点
.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3') // 只能输入两个小数