51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

vue限制文本框数字小数点位数,限制为整数

最近在给网站的APP完善一些付费功能,不过涉及到钱的地方一直都比较头痛,因为我的API限制了积分为整数结算,所以需要强制用户的输入为整数来保证用户体验。研究了半天之后写出了以下代码:

假设字段为day

html部分:

<input placeholder="输入购买天数" type="number" name="input" v-model="day" @input="day = limit(day,0)" />

js部分:

isRealNum(val){
  if(val === "" || val ==null){
        return false;
  }
   if(!isNaN(val)){    
    return true;
  }

 else{
    return false;
  }
},
limit(value,num){
  var that = this;
  if(that.isRealNum(value)){
    var newNum = value.toString();
    if(newNum.indexOf(".")!=-1){
      var arrbuy = newNum.split(".");
      var val1 = arrbuy[0];
      var val2 = arrbuy[1];
      if(val2.length > num){
        val2 = val2.slice(0, num);
      }
      newNum = Number(val1)+"."+val2;
      value = newNum;
    }
  }else{
    value = value.substr(0, value.length - 1);
    if(that.isRealNum(value)){
      value=value;
    }else{
      value="";
    }

  }
  return value;
},

如果要指定小数点位数,比如三位小数,写法如下(修改第二个参数即可):

<input placeholder="输入购买天数" type="number" name="input" v-model="day" @input="day = limit(day,3)" />

images.jpg
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/3189/

赞(8)
未经允许不得转载:工具盒子 » vue限制文本框数字小数点位数,限制为整数