【问题标题】:How to allow space with alpha numeric characters using keycode validation?如何使用键码验证允许带有字母数字字符的空格?
【发布时间】:2018-02-20 04:11:41
【问题描述】:

这是下面的代码,只允许字符和数字,但我想在字符和数字旁边留出空格。请帮忙。

function IsAlphaNumericTour(e) {
      var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
      var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
      document.getElementById("error_tour").style.display = ret ? "none" : "inline";
      return ret;
 }

【问题讨论】:

  • 只需加上空格的keyCode

标签: javascript jquery jquery-ui javascript-objects dom-events


【解决方案1】:

只需要在这个函数中加上(空格)的keyCode

function IsAlphaNumericTour(e) {
      var keyCode = e.keyCode == 0 ? e.charCode : e.keyCode;
      var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || keyCode == 32 ||(specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode));
      document.getElementById("error_tour").style.display = ret ? "none" : "inline";
      return ret;
 }

【讨论】:

    【解决方案2】:

    空格的关键代码是 32,因此您可以将条件更改为如下内容:

    var ret = ((keyCode >= 48 && keyCode <= 57) || (keyCode >= 65 && keyCode <= 90) || (keyCode >= 97 && keyCode <= 122) || (specialKeys.indexOf(e.keyCode) != -1 && e.charCode != e.keyCode) || keyCode == 32);
    

    【讨论】:

      【解决方案3】:

      如果您愿意,也可以通过正则表达式测试来做到这一点:

      function IsAlphaNumericTour(e) {
        var key = e.which;
        var regex = /[a-zA-Z0-9 ]/;
        var ret = key.test(regex);
        // This method returns true if it finds a match, otherwise it returns false.
        $("#error_tour").css("display", (ret ? "none" : "inline"));
        return ret;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 2013-11-04
        • 2013-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多