在输入文本限制中的jquery按键,我希望它只允许A-Z和空格,但是我的代码不允许" Y"和" Z"

时间:2016-02-15 01:32:12

标签: javascript jquery keypress restriction

其实我没有对此进行编码,我只是将其复制并粘贴以试用。

这是代码。

$("#firstname, #lastname").keypress(function(event) {
  var inputValue = event.charCode;
  if (!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) {
    event.preventDefault();
  }
  $('#input').html(inputValue);
});

1 个答案:

答案 0 :(得分:1)

y的密码为121,同样z的密码为122.因此,如果您想要包含范围内的密码,则应将inputValue <= 120更改为inputValue <= 122 }。

但是,您无需为此检查密钥代码。我建议使用正则表达式/[^a-z\s]/gi(这是一个否定的字符类,它将匹配不是a-z或空格的字符 - 不区分大小写。)

您可以简单地用空字符串替换这些字符并有效删除它们:

$("#firstname, #lastname").on('input', function(event) {
  this.value = this.value.replace(/[^a-z\s]/gi, '');
});

基本示例:

$("#firstname, #lastname").on('input', function(event) {
  this.value = this.value.replace(/[^a-z\s]/gi, '');
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="firstname" type="text" />