input输入框只能输入数字且小数点后只能输入两位数字

时间:2022-05-01 20:24:55

    首先设置或检索是否允许用户激活输入中文,韩文,日文等的输入法(IME)状态

    这里设置为:disabled------------- ime-mode: disabled;

   <input id="shop-price" style="ime-mode: disabled;"  type="text" name="shopPrice" placeholder="输入商品原价" />


   再进行js校验

     //输入价格校验
    $(document).ready(function() {  
    //敲击按键时触发  
    $("#shop-price").bind("keypress", function(event) {  
    var event= event || window.event;  
    var getValue = $(this).val();  
    //控制第一个不能输入小数点"."  
    if (getValue.length == 0 && event.which == 46) {   
        event.preventDefault();  
        return;  
    }  
    //控制只能输入一个小数点"."  
    if (getValue.indexOf('.') != -1 && event.which == 46) {  
        event.preventDefault();   
        return;  
    }
    //控制小数点后只能输入两位数
    if(getValue.indexOf('.')!=-1 && getValue.length-getValue.indexOf('.')>2){
        event.preventDefault();   
        return;  
    }
    //控制只能输入的值  
    if (event.which && (event.which < 48 || event.which > 57) && event.which != 8 && event.which != 46) {  
        event.preventDefault();  
         return;  
        }  
    })  
    //失去焦点是触发  
    $("#shop-price").bind("blur", function(event) {  
    var value = $(this).val(), reg = /\.$/;  
    if (reg.test(value)) {  
    value = value.replace(reg, "");  
    $(this).val(value);  
    }  
    })  
    });