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抓紧创作!

微信微信 支付宝支付宝

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

声明:
1. 本站所有文章教程及资源素材均来源于网络与用户分享或为本站原创,仅限用于学习和研究。
2. 如果内容损害你的权益请联系客服QQ:1642748312给予处理。
码云笔记 » elementui之el-input输入框内容限制仅能输入数字,整数不得超过2位,小数不得超过2位

发表评论

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们