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;
                }
            }


你可能感兴趣的:(js 输入框控制键盘,只写入数字,并开放部分功能键)