热搜: fiddler git ip 代理
历史搜索

elementui之el

游客2024-12-24 07:53:01

elementui 之 el-input 输入框内容限制

限制仅能输入数字,整数不得超过 2 位,小数不得超过 2 位:

<!--  -->
<template>
  <div >
    <div >
      <div>输入框限制数字,限制整数不得超过 2 位,小数不得超过 2 位</div>
      <el-input
        v-model.trim="iptNum3"
        placeholder="请输入该内容分值"
        @input="limitIptNumber()"
      ></el-input>
       {{ iptNum3 }}
    </div>
  </div>
</template>

<script>

export default {
  name: 'record',
  components: {},
  props: {},
  data() {
    return {
      iptNum3: "",
    }
  },
  created() {
    console.log('created-record')
  },
  activated() {
    console.log('activated-record')
  },
  deactivated() {
    console.log('deactivated-record')
  },
  methods: {
    limitIptNumber(){
      var str = this.iptNum3
      var len1 = str.substr(0, 1)
      var len2 = str.substr(1, 1)
      var len3 = str.substr(2, 1)
      // 整数为两位后面限制输入清空
      if(len1 != 0 && len3 !== '' && len3 !== '.'){
        this.iptNum3 = str.substr(0, 2)
        return 
      }
      // 如果第一位是 0,第二位不是点,就用数字把点替换掉
      if (str.length > 1 && len1 == 0 && len2 != ".") {
        str = str.substr(1, 1)
      }
      // 限制只能输入一个小数点
      if (str.indexOf(".") != -1) {
        var str_ = str.substr(str.indexOf(".") + 1)
        if (str_.indexOf(".") != -1) {
          str = str.substr(0, str.indexOf(".") + str_.indexOf(".") + 1)
        }
      }
      // 正则替换 限制输入框小数点位数,多出的过滤掉
      str = str.replace(/[^d^.]+/g, '') // 保留数字和小数点
      str = str.replace(/^D*([0-9]d*.?d{0,2})?.*$/, '$1') // 小数点后只能输 2 位
      this.iptNum3 = str
    }
  }
}
</script>

<style  lang="scss" scoped>
</style>

效果如下:

elementui之el 1

标签:el-input