Javascript 允许在按键时使用空格、数字和斜杠

Javascript 允许在按键时使用空格、数字和斜杠,javascript,Javascript,我有这个按键功能,只允许数字和“/”我想添加到它的退格。 有人有主意吗 function OnKeyPressNumberText(sender, eventArgs) { var char = eventArgs.get_keyCharacter(); //will allow just letters and "-" var exp = /[^0-9/]/g; if (exp.test(char)) { eventArgs.

我有这个按键功能,只允许数字和“/”我想添加到它的退格。 有人有主意吗

function OnKeyPressNumberText(sender, eventArgs)
{         
    var char = eventArgs.get_keyCharacter();
    //will allow just letters and "-" 
    var exp = /[^0-9/]/g;
    if (exp.test(char)) {
        eventArgs.set_cancel(true);
    }            
}

某些命令键也具有char值:

输入-13

退格-8

逃脱-27

只需跳过所有小于32(或小于空格)的字符

var char=eventArgs.get_keyCharacter();
//让命令键(BackSpace、Enter、Tab/Shift+Tab、Escape…)发挥作用
如果(字符<''){

eventArgs.set_cancel(true);//只有
keydown
keydup
事件可以处理控制键。
看小提琴。
例如,尝试在字段和按钮
a
中按
backspace
,您可以看到当您按
backspace
时,只启动
keydown
keyup
事件,当您按
a
键时启动所有事件


当你按下
a
key
event.keyCode
不同于
keydown
keydup
(65)和
keypress
(97)事件。

它不是c,也不是asp.net,它是javascript…Keymaster是相当不错的,可以处理很多键盘事件边缘情况/破解/丑陋。通过执行eventArgs.set\u取消(是的);我们允许数字,而不是限制数字。而且char=8键在firefox上不起作用。
  var char = eventArgs.get_keyCharacter();

  // let command keys (BackSpace, Enter, Tab/Shift+Tab, Escape...) do its work
  if (char < ' ') {
    eventArgs.set_cancel(true); // <- see Mike Mouannes comments below

    return;
  }

  //will allow just letters and "-" 
  var exp = /[^0-9/]/g;

  if (exp.test(char)) {
    eventArgs.set_cancel(true);
  }