elementui之el-input输入框内容限制仅能输入数字,整数不得超过2位,小数不得超过2位

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

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

<!--  -->
<template>
  <div class="content-box">
    <div class="container">
      <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-input 输入框内容限制仅能输入数字,整数不得超过 2 位,小数不得超过 2 位

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » elementui之el-input输入框内容限制仅能输入数字,整数不得超过2位,小数不得超过2位

发表回复