美文网首页
el-input 输入框正则校验

el-input 输入框正则校验

作者: 而生lhw | 来源:发表于2023-02-14 10:15 被阅读0次
    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)"
                        />
    
    • js
      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] || ''
       " 
    

    相关文章

      网友评论

          本文标题:el-input 输入框正则校验

          本文链接:https://www.haomeiwen.com/subject/iphekdtx.html