JS控制键盘录入 和 window.event.keycode对照

 

document.onkeydown = function (e) { // 回车提交表单
	var theEvent = window.event || e; 
	var code = theEvent.keyCode || theEvent.which; 
	if (code == 13) { 
	    $("#chk_math").click(); // #chk_match 是你 提交按钮的ID
	    } 
	}  

 

一、只允许录入整数

 1.不允许录入非数字(按下字母键就会提示并清空)
  function intOnly() {
    if (!(window.event.keyCode >= 48 && window.event.keyCode <= 57
      ||window.event.keyCode==13 //回车符
    )) {
      window.event.keyCode = 0;
      alert("请输入整数数字!");
    }
  }


 2.和intOnly()区别:输入完成焦点离开后判断数字是否合法
  function intOnly2(param) {
    var reg=/^([0-9]*)$/;
    var flag = reg.test(param.value);
    if(!flag){
      alert("请输入整数数字!");
      param.value="";
    }
  }

 

二、只允许数字键录入小数和整数

 1、录入的同时进行判断
  function numberOnly() {
    if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) || (window.event.keyCode == 13) || (window.event.keyCode == 46))) {
      window.event.keyCode = 0;
      alert("请输入数字!");
    }
  }
 2.和numberOnly()区别:输入完成焦点离开后判断数字是否合法
  function numberOnly2(param) {
    var reg=/^([0-9]+(\.?[0-9]+)?)$/;
    var flag = reg.test(param.value);
    if(!flag){
      if(param.value!=""){
        alert("请输入数字!");
        param.value="";
      }
    }
  }

 

三、控制键盘输入时只能输入数字和'-',用于输入负数

 1.录入的同时进行判断
  function fushuOnly() {
    if (!(((window.event.keyCode >= 48) && (window.event.keyCode <= 57)) || (window.event.keyCode == 13) || (window.event.keyCode == 46))) {
      window.event.keyCode = 0;
      alert("输入有误,请输入数字!");
    }
  }


 2.和phoneOnly()区别:输入完成焦点离开后判断数字是否合法
  function fushuOnly2(param) {
    var reg=/^-?([0-9]+(\.?[0-9]+)?)$/;
    var flag = reg.test(param.value);
    if(!flag){
      if(param.value!=""){
        alert("输入有误,请输入数字或者负数!");
        param.value="";
      }
    }
  }

四、控制键盘输入时只能输入数字和'-',用于限制电话号码的输入

 1.录入的同时进行判断
  function phoneOnly() {
    if (!(window.event.keyCode >= 48 && window.event.keyCode <= 57 
      || window.event.keyCode == 45 
      || window.event.keyCode == "\uff0d"
      ||window.event.keyCode==13 //回车符
    )) {
      alert("电话号码输入有误,请输入数字!");
      window.event.keyCode = 0;
    }
  }

 2.和phoneOnly()区别:输入完成焦点离开后判断数字是否合法
  function phoneOnly2(param) {
    var reg=/^([0-9]+(\-?[0-9]+)?)$/;
    var flag = reg.test(param.value);
    if(!flag){
      if(param.value!=""){
        alert("电话号码输入有误,请输入数字!");
        param.value="";
      }
    }
  }

 

五、检查<html:file><input type="file">中地址所指文件是否是图片类型

  function isImage(obj) {
    var str = obj.value;
    var temp = str.indexOf(".");
    if (temp > 0) {
      str = str.substring(temp + 1).toLowerCase();
      var myTypes = new Array("gif", "jpg", "jpeg", "png");
      for (i = 0; i < myTypes.length; i++) {
        if (str == myTypes[i]) {
          return;
        }
      }

      //请选择格式为gif,jpg,jpeg,png的图片
      alert("\u8bf7\u9009\u62e9\u683c\u5f0f\u4e3agif,jpg,jpeg,png\u7684\u56fe\u7247");
      obj.select();
    }
  }

 

 

 

 

 

 

==========================华丽的分割线===================================================

 window.event.keyCode 代码对照大全

  firefox2.0中不支持 window.event.keyCode,

    但是我们可以用event.which代替。但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.

  Keycode对照表

字母和数字键的键码值(keyCode)
按键键码按键键码按键键码按键键码
A65J74S83149
B66K75T84250
C67L76U85351
D68M77V86452
E69N78W87553
F70O79X88654
G71P80Y89755
H72Q81Z90856
I73R82048957

  

 

数字键盘上的键的键码值(keyCode)功能键键码值(keyCode)
按键键码按键键码按键键码按键键码
0968104F1112F7118
1979105F2113F8119
298*106F3114F9120
399+107F4115F10121
4100Enter108F5116F11122
5101-109F6117F12123
6102.110    
7103/111    

  

 

控制键键码值(keyCode)
按键键码按键键码按键键码按键键码
BackSpace8Esc27Right Arrow39-_189
Tab9Spacebar32Dw Arrow40.>190
Clear12Page Up33Insert45/?191
Enter13Page Down34Delete46`~192
Shift16End35Num Lock144[{219
Control17Home36;:186\|220
Alt18Left Arrow37=+187]}221
Cape Lock20Up Arrow38,<188'"222

 

多媒体键码值(keyCode)
按键键码按键键码按键键码按键键码
音量加175      
音量减174      
停止179      
静音173      
浏览器172      
邮件180      
搜索170      
收藏171
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值