1、正整数,没有小数位,不能为负数
<el-input
v-model="Froms.numOfSystemAccessData"
placeholder=""
clearable
size="small"
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
/>
2、正整数,没有小数位,不能为负数,有0的情况
<el-input
v-model="Froms.numOfEffTables"
placeholder=""
clearable
size="small"
oninput="value=value.replace(/[^\d]+/g,'')"
/>
3、数值型,两位小数,有正数、负数和0情况
<el-input
v-model="Froms.rateOfVisitorResource"
placeholder=""
clearable
size="small"
oninput="value = value.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
.match(/^\-?\d*(\.?\d{0,2})/g)[0] || '';"
/>
4、正数,两位小数,有0情况,如果是20.00显示20,1.20显示1.2
<el-input
v-model="Froms.settlementRateOfNeg"
placeholder=""
clearable
size="small"
oninput="value=value.replace(/\D*(\d*)(\.?)(\d{0,2})\d*/,'$1$2$3')
.replace(/^0+(\d)/, '$1')
.replace(/^\./, '0.')
.match(/^\d*(\.?\d{0,2})/g)[0] || ''
"
@blur="handleBlurWeight(Froms.totalData, $event)"
/>
handleBlurWeight(item, event) {
item = this.handleBlurDots(item, event);
},
handleBlurDots(item, event) {
if (item === "") {
event.target.value = '';
}
// 去除整数前的0和小数点后多余的0
const reg1 = /0*([1-9]\d*|0\.\d+)/;
const reg2 = /(?:\.0*|(\.\d+?)0+)$/;
event.target.value = event.target.value
.replace(reg1, "$1")
.replace(reg2, "$1");
return event.target.value;
},
5、正整数
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')"
6、正整数、0
oninput="value=value.replace(/[^\d]+/g,'')"
7、小数
oninput="value=value.replace(/[^\d.]/g,'').replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')"
8、正数、负数、小数
oninput="value=value.replace(/[^\-?\d.]/g,'')
.replace(/^\./g,'').replace('.','$#$').replace(/\./g,'').replace('$#$','.')
.replace('-','$#$').replace(/\-/g,'').replace('$#$','-')"
9、正数、小数、保留两位小数
oninput="value=value.replace(/\D*(\d*)(\.?)(\d{0,2})\d*/,'$1$2$3')
.replace(/^0+(\d)/, '$1')
.replace(/^\./, '0.')
.match(/^\d*(\.?\d{0,2})/g)[0] || ''
"