js 输入框控制键盘,只写入数字,并开放部分功能键

document.getElementById("userno").onkeydown = function (event) {//号码输入框回车事件
                var myEvent = new Event(event);
                if (myEvent.key == "enter") {
                    //回车提交之类
                }
                //开放复制粘贴剪切功能,强制刷新和强制关闭
                if (myEvent.control == true && (myEvent.code == 67 || myEvent.code == 86 
                    || myEvent.code == 88 || myEvent.code == 115 || myEvent.code == 116)) {
                    if (myEvent.code == 86) {
                        var pstr = "";
                        pstr = window.clipboardData.getData("text");//这个获取剪贴板内容,只兼容IE
                        if (pstr != "" && pstr.match(/^\d+$/) == null) {
                            return false;
                        }
                    }
                    return true;
                }
                //过滤shift特殊符号,不能输入特殊符号
                if (myEvent.shift == true && (myEvent.code >= 48 && myEvent.code <= 57)) {
                    return false;
                }
                //过滤非正常符号和按键,删除,退格回车,esc,tab,数字 都可以用,
                //48-57主键盘数字,96-105是小键盘
                if (!(myEvent.code == 8 || myEvent.code == 9 || myEvent.code == 13 
                || myEvent.code == 16 || myEvent.code == 17 || myEvent.code == 27 
                || myEvent.code == 46 || (myEvent.code >= 48 && myEvent.code <= 57) 
                || (myEvent.code >= 96 && myEvent.code <= 105))) {
                    return false;
                }
            }


转载于:https://my.oschina.net/raddleoj/blog/369601

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值