通过多次的正则表达式来限制输入的内容
<el-input v-model="number" title="填写一个数值" placeholder="请输入数字" oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')" > </el-input>
里面的replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3')的第一个点后的\d个数表示小数点后面的个数,可以根据自己的需要修改
关键代码
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
可以直接加在原生的input框上面
在input输入框中限制输入为数字和点,不能为负值,只有一个点不能在第一个位置,小数点后两位
最新推荐文章于 2024-05-03 11:08:18 发布