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