1

我使用以下函数对keydown 事件进行整数验证。现在我需要在此允许逗号和空格键。如何做到这一点?

function intValidate(event) {
    if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||(event.keyCode == 65 && event.ctrlKey === true) ||(event.keyCode >= 35 && event.keyCode <= 39))
        {
            return;
        }
    else 
    {
        if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )&&event.keyCode < 188)
        {
            event.preventDefault(); 
        }   
    }
  }
4

4 回答 4

3

分别检查密钥代码 188 和 32。虽然 188 是“逗号”,但您可能还需要检查 110 -“小数点”,以查找小键盘上的字符(当然取决于键盘布局)。

于 2012-09-07T07:10:31.270 回答
1

为您需要在 If 语句中允许的新字符添加键码。tr 这个键码列表

于 2012-09-07T07:12:10.473 回答
0

你可以调用这个函数:

var isValid = function(key) {

    var allowedCharacters = ['0','1','2','3','4','5','6','7','8','9',' ', ',']
    if (allowedCharacters.contains(key)) return true;
    return false;

};

这是一个小提琴:http: //jsfiddle.net/Js9wQ/

于 2012-09-07T07:18:40.130 回答
0

32将用于太空。

188将用于逗号(,)。

所以在你的if条件下添加它:

event.keyCode == 32 || event.keyCode == 188

查看完整列表:KeyCode List

于 2012-09-07T07:13:50.970 回答