Jquery限制文本框只能输入数字

js代码:

//验证数字
var validNumber = {
    //只能正整数
    validAll: function (obj) {
        var num = $.trim($(obj).val());
        num = num.replace(/[^0-9]/g, "")
        if ((num.length == 1) && (num == '.')) {
            num = num.replace(/./, '')
        }
        $(obj).val(num)
    },
    //验证数字 整数 有负数 有小数
    validNum: function (obj) {
        var num = $.trim($(obj).val());
        num = num.replace(/[^0-9-.]/g, "");
        var dem = num.indexOf('.');
        if (dem == 0) {
            num = '';
        } else if (dem > 0) {
            var demStr1 = num.substring(0, dem+1);
            var demStr2 = num.substring(dem + 1, num.length);
            demStr2 = demStr2.replace(/\./g, "");
            num = demStr1 + demStr2;
        }
        var firstNum = num.substring(0, 1);
        var otherNUm = num.substring(1, num.length);
        otherNUm = otherNUm.replace(/-/g, "");
        num = firstNum + '' + otherNUm;

        $(obj).val(num)

    },

    //验证数字 小数
        validNumDec:function (obj){
            var num=$.trim($(obj).val());
            num=num.replace(/[^0-9.]/g,"")
            if((num.length==1)&&(num=='.')){
                num=num.replace(/\./,'')
            }
            $(obj).val(num)

        },
    //验证数字 百分数
        validNumPer:function (obj){
            var num=$.trim($(obj).val());
            num=num.replace(/[^0-9.]/g,"");
            if ((num.length == 1) && (num == '.')) {
                num=num.replace(/./,'')
            }
            if((num-0)>100){
                alert('数值不能大于100');
                $(obj).val('')
            }else{
                $(obj).val(num)
            }
        }
}

 

HTML代码:

   

 这里根据需要来调用不同的函数,如果是只能填写0和正整数,就调用validAll

 

实现效果:

输入0和正整数外的其他字符都是无法输入的。

你可能感兴趣的:(js/jq)