在按键时允许退格和数字以及斜杠

时间:2013-07-23 11:49:03

标签: 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.set_cancel(true);
    }            
}

2 个答案:

答案 0 :(得分:2)

某些命令键也具有char值:

输入 - 13

BackSpace - 8

Escape - 27

...

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

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

答案 1 :(得分:0)

只有keydownkeyup个事件才能处理控制键 见this小提琴 尝试在字段中按backspace,然后按a按钮,您可以看到,当您按backspace时,只有keydownkeyup个事件会启动,你按a关键launces所有事件。

当您在aevent.keyCode(65)​​和keydown(97)事件中按keyupkeypress时,请注意。