当前位置:   article > 正文

input框只取正整数,非负数等整理(以element组件库el-input组件在vue中常见的几种取值筛选为例)_vue element 输入框中 向上取整

vue element 输入框中 向上取整

1.限定取值为非负整数(可输入0和正整数)限定:

  1. <el-input
  2. style="width: 300px"
  3. v-model="value"
  4. type="number"
  5. clearable
  6. placeholder="请输入非负整数"
  7. min="0"
  8. @blur="getRval(value)"
  9. onKeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)))"
  10. ></el-input>
  11. getRval(val){
  12. console.log(val,typeof(val));
  13. this.value = Math.abs(this.value) //去除中文输入下的负号和 this.value是字符时00开头等乱输
  14. },

2.限定取值为非负数(可输入0,和正数(含小数))限定:

  1. <el-input
  2. style="width: 300px; margin-top: 50px"
  3. v-model="value2"
  4. type="number"
  5. clearable
  6. placeholder="请输入非负数"
  7. min="0"
  8. @blur="getRightVal(value2)"
  9. ></el-input>
  10. getRightVal(val){
  11. console.log(val,typeof(val));
  12. if(val.startsWith("0") && !val.includes('.') && val != 0){
  13. this.value2 = this.value2.replace(/\b(0+)/gi,"")
  14. }else{
  15. this.value2 = Math.abs(this.value2);
  16. }
  17. },

3. 限定取值为指定最大小数位的非负数(可输入0,和正数(含指定位数的小数))限定:

  1. <el-input
  2. style="width: 300px; margin-top: 50px"
  3. v-model="value3"
  4. type="number"
  5. clearable
  6. placeholder="请输入指定小数位的非负数"
  7. min="0"
  8. @input="handleInput"
  9. @blur="getRightv(value3)"
  10. ></el-input>
  11. handleInput(value) {
  12. console.log(value);
  13. if (value != "") {
  14. if (value.indexOf(".") > -1) {
  15. this.value3 = value.slice(0, value.indexOf(".") + 3); //2位小数,vaule为input输入值,这个+后面为所需限定的最多小数位+1(例如:想要限定小数点后最多为2位,那么此时就为3)
  16. } else {
  17. this.value3 = value;
  18. }
  19. }
  20. },
  21. getRightv(val) { //负数转正数,去除首位0
  22. console.log(val,typeof(val));
  23. if(val.startsWith("0") && !val.includes('.') && val != 0){
  24. this.value3 = this.value3.replace(/\b(0+)/gi,"")
  25. }else{
  26. this.value3 = Math.abs(this.value3);
  27. }
  28. },

4.大于0的正整数。

  1. <el-input v-model.trim="ruleForm.demandNumber" placeholder="请输入需求数量" clearable maxlength="10" min="1"
  2. style="width: 250px" @input="handleEdit"></el-input>
  3. //Input 值改变时触发,校验正整数
  4. handleEdit(e) {
  5. let value = e.replace(/^(0+)|[^\d]+/g, ''); //0开头或者输入非数字,会被替换成空
  6. value = value.replace(/(\d{10})\d*/, '$1') // 最多保留10位整数
  7. this.ruleForm.demandNumber = value
  8. },

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/617193
推荐阅读