前端金额的校验 el-input input方法

html

<el-input
   @input="numContro($event,'claimMessageVo','checkfee')"
   v-model="caseData.claimMessageVo.checkfee"
   type="number"
   @blur="changTotalestimatedfee"
 ></el-input>

js

//控制金额的位数
    numContro(value,box,name){
      let val = (value && value.split("")) || [];
      let sNum = val.toString(); //先转换成字符串类型
      if (sNum.indexOf('.') == 0) {//第一位就是 .
        console.log('first str is .')
        sNum = '0' + sNum
      }
      sNum = sNum.replace(/[^\d.]/g,"");  //清除“数字”和“.”以外的字符
      sNum = sNum.replace(/\.{2,}/g,"."); //只保留第一个. 清除多余的
      sNum = sNum.replace(".","$#$").replace(/\./g,"").replace("$#$",".");
      sNum = sNum.replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3');//只能输入两个小数
      //以上已经过滤,此处控制的是如果没有小数点,首位不能为类似于 01、02的金额
      if(sNum.indexOf(".")< 0 && sNum !=""){
        sNum = parseFloat(sNum);
      }
      this.caseData[box][name] = sNum;
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值