el-input 输入框正则校验

2023-02-14  本文已影响0人  而生lhw
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] || ''
   " 
上一篇下一篇

猜你喜欢

热点阅读