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限制文本框数字小数点位数,限制为整数