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

本文阅读 1 分钟
广告

最近在给网站的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/
NuxtJS项目网页严重卡顿,分析过程和问题解决
« 上一篇 09-02
RuleProject所有问题及解决方案(持续更新)
下一篇 » 09-12
广告

发表评论

成为第一个评论的人

作者信息

热门文章

标签TAG

热评文章