JavaScript 控制只能输入数字

暂时只做到控制正数 
var inputOldValue = "";
    if( $('input.input_num_int').length ) {
            $('.input_num_int').on( 'keydown',function(e) {
                // e.preventDefault();
                //var _this = $(this);
                var code = parseInt(e.keyCode);  
                if(code == 229){
                    inputOldValue = this.value;
                }
                //数字,backspace,delete
                if (code >= 96 && code <= 105 || code >= 48 && code <= 57 || code == 8 ||code == 46 ) {
                    return true;
                }else if(code == 67&&event.ctrlKey==1){//复制
                    return true
                }else if(code == 86&&event.ctrlKey==1){//黏贴
                    inputOldValue = this.value;
                    return true
                }
                return false;
            });
            //主要是防止使用复制黏贴带来的问题
            $('.input_num_int').on( 'keyup',function(e) {
                var code = parseInt(e.keyCode);  
                var value = parseInt(this.value);
                if(isNaN(parseInt(this.value))){
                    this.value = inputOldValue;
                }
            });
            
    }
    // 控制只能输入数字  input class=" input_num_float "
    if( $('input.input_num_float').length ) {
        $('.input_num_float').on( 'keydown',function(e) {
            var code = parseInt(e.keyCode);  
            //中文输入
            if(code == 229){
                inputOldValue = this.value;
            }
            //数字 backspace,点号,delete
            if (code >= 96 && code <= 105 || code >= 48 && code <= 57 || code == 8||code == 110 || code == 190 ||code == 46  ) {
                return true;
            }else if(code == 67&&event.ctrlKey==1){//复制
                return true
            }else if(code == 86&&event.ctrlKey==1){//黏贴
                inputOldValue = this.value;
                return true
            }
            return false;
        });
        $(".input_num_float").blur(function(){
            var oldValue = $(this).val();
            // 小数点前补0
            if(oldValue.indexOf(".") == 0){
                $(this).val('0'+$(this).val());
            }else if(oldValue.indexOf(".") == oldValue.length-1){//去除最后的点
                $(this).val(oldValue.substring(0,oldValue.length-1)    );
            }
       });
        $('.input_num_float').on( 'keyup',function(e) {
            var code = parseInt(e.keyCode);  
                var value = parseFloat(this.value);
                if(isNaN(parseInt(this.value))){
                    this.value = inputOldValue;
                }
        });
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值