jquery 输入文本限制中的按键,我希望它只允许 A-Z 和白色 space 但我的代码不允许 "Y" 和 "Z"
jquery keypress in input text restriction, i want it to allow A-Z and white space only but my code won't allow "Y" and "Z"
其实我没有编码,我只是复制并粘贴它来尝试。
这是代码。
$("#firstname, #lastname").keypress(function(event) {
var inputValue = event.charCode;
if (!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) {
event.preventDefault();
}
$('#input').html(inputValue);
});
y
的键码是 121,同样 z
的键码是 122。因此,如果你想将它们包含在范围内,则应将 inputValue <= 120
更改为 inputValue <= 122
.
但是,您不需要为此检查键码。我建议使用正则表达式 /[^a-z\s]/gi
(这是一个否定字符 class,它将匹配不是 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" />
其实我没有编码,我只是复制并粘贴它来尝试。
这是代码。
$("#firstname, #lastname").keypress(function(event) {
var inputValue = event.charCode;
if (!(inputValue >= 65 && inputValue <= 120) && (inputValue != 32 && inputValue != 0)) {
event.preventDefault();
}
$('#input').html(inputValue);
});
y
的键码是 121,同样 z
的键码是 122。因此,如果你想将它们包含在范围内,则应将 inputValue <= 120
更改为 inputValue <= 122
.
但是,您不需要为此检查键码。我建议使用正则表达式 /[^a-z\s]/gi
(这是一个否定字符 class,它将匹配不是 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" />