js input输入只允许两位小数

input 输入框内只允许输入两位小数,即小数点后只保留两位,多余得无法输入。上代码:

<div class="row-col">
                        <label>增值票</label>
                        <input type="number" placeholder="手动输入" v-model="ins.je_zz" @input="numberic(ins,'je_zz',$event)"/>
                        <i class="unit">(元)</i>
                    </div>
methods:{
    numberic:function(item,keyname,event){// type 为number //item 为json对象,keyname为键值,event为事件对象.两位小数
                var value=item[keyname];
                var zeroFirst=value.indexOf(0);
                var dot=value.indexOf('.');
                var vlen=value.length
                
                if(value.indexOf('.')==0){
                    alert("value.indexOf('.'):"+value.indexOf('.'));
                    alert("请输入合法的数字!");
                    item[keyname]=0;
                }
                if(zeroFirst==0){//首位为0,第二位则必须为.
                    if(vlen>=3 && value.indexOf('.')==1){
                        if(value.length>4){
                            item[keyname]=value.substr(0,vlen-1);
                            alert("最多两位小数!");
                        }else{
                            if(isNaN(Number(value[vlen-1]))){
                                item[keyname]=value.substr(0,vlen-1);
                                alert("请输入合法的数字!");
                            }
                        }
                    }else if(vlen==2 && value.indexOf('.')!=1){
                        alert("请输入小数点!");
                        item[keyname]=0;
                    }
                }else{
                    if(dot>-1 && dot+1!=vlen){//已输入小数点
                        if(isNaN(Number(value[vlen-1]))){//小数点后只能输入0-9
                            item[keyname]=value.substr(0,vlen-1);
                            alert("请输入合法的数字0-9!");
                        }else if(vlen-dot>2+1){
                            item[keyname]=value.substr(0,vlen-1);
                            alert("最多两位小数!");
                        }
                    }else if(dot==-1){
                        
                    }
                }
            }
}

js 代码是结合网上得代码自己写得,希望对同行有帮助。

转载于:https://www.cnblogs.com/wsz168/p/8548297.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值