gpt4 book ai didi

javascript - 如何向这个验证函数添加一个字符?

转载 作者:行者123 更新时间:2023-11-30 09:07:43 25 4
gpt4 key购买 nike

$(function(){
$('input[name="username"]').keydown(function(key){
if (jQuery.inArray(key.keyCode,
[8,37,39,48,49,50,51,52,53,54,55,56,57,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90])
== -1 || key.shiftKey ){
return false;
}
});
});

这是对文本字符进行 Ajax 验证,它只允许我输入 a-z0-9 中的字母,而不是任何其他字符,但我想要它也允许我使用 _(下划线)字符。

最佳答案

$('input[name="username"]').keypress(function(event) {
var k = event.which;
/* 0: non-input keys
8: backspace
48-57: 0-9
97-122: a-z
95: _ */
if (k != 0 && k != 8 && k != 95 &&
(k < 48 || k > 57) && (k < 97 || k > 122))
return false;
});

$('input[name="username"]').keyup(function() {
var inp = $(this).val();

if (inp.match(/[^a-z0-9_]/g))
$(this).val(inp.replace(/[^a-z0-9_]/g, ''));
});

keypress事件处理程序会尝试在将无效字符输入字段之前 捕获它们,以防止在显示无效字符和再次删除 keyup 时出现分散注意力的“跳跃”效果。请注意,event.which 包含由 jQuery 规范化的字符代码。

keyup处理程序是捕获使用 Ctrl-V 输入的字符所必需的(请注意,不幸的是,它不能使用菜单选项编辑 > 粘贴来捕获输入)。额外的测试是必要的,以阻止输入字段在每次 keyup 后返回到最左边的位置(由更改其值引起)。现在它只有在有东西要移除时才会重置它的位置。

您可以在 JSBin 上进行测试.

关于javascript - 如何向这个验证函数添加一个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com