【问题标题】:need javascript function allow comma and space需要javascript函数允许逗号和空格
【发布时间】:2012-09-07 07:07:41
【问题描述】:

我在 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(); 
        }   
    }
  }

【问题讨论】:

  • 搜索相关的 keyCode 并在您的条件下使用它们。

标签: javascript asp.net validation


【解决方案1】:

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

【讨论】:

  • 抱歉,我先弄混了逗号和句点键码。查看我的更新
【解决方案2】:

为您需要在 If 语句中允许的新字符添加键码。转这个Keycodes List

【讨论】:

    【解决方案3】:

    32 将用于太空。

    188 将用于逗号(,)。

    所以将它添加到您的if 条件中:

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

    查看完整列表:KeyCode List

    【讨论】:

      【解决方案4】:

      你可以调用这个函数:

      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/

      【讨论】:

      • 你将如何在 keydown 监听器中实现它?
      • var key = String.fromCharCode(e.keyCode);
      猜你喜欢
      • 1970-01-01
      • 2015-08-13
      • 2016-11-26
      • 1970-01-01
      • 1970-01-01
      • 2015-09-12
      • 2013-07-02
      • 2019-09-14
      • 1970-01-01
      相关资源
      最近更新 更多