element输入框限制只能输入小数点两位

element输入框限制只能输入小数点后两位,超过小数点后两位就不能再输入了

img

1.template中


<el-input-number :value='num' @change='changeNumber' />

2.data中

 data() {
      return {
        num: 1
    }
}

3.methods中

 changeNumber(num) {
        if(num && String(num).split('.')[1] && String(num).split('.')[1].length > 2) {
          this.num = new Number(this.num);
        } else {
          this.num = num;
        }
      },

el-input 绑定input事件 ,通过正则匹配 只能输入数字和小数点,只能输入一个小数点 ,小数点后只能输入两位,不能已小数点开头,不能以多个零开头,以小数点开头自动补0,

<el-input v-model="paymentAmount" @input="inputFn" ></el-input>



inputFn() {
            this.paymentAmount = this.paymentAmount

                .replace(/[^\d^\.]+/g, '')

                .replace(/^0+(\d)/, '$1')

                .replace(/^\./, '0.')

                .match(/^\d*(\.?\d{0,2})/g)[0] || ''
        }

```

oninput="value=value.indexOf('.') > -1?value.slice(0, value.indexOf('.') + 3):value"

fixed()