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>
效果如下: