最近在给网站的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)" />
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/3189/