gpt4 book ai didi

javascript - 在 TextBox OnKeyPress 上使用 RegEx 无法按键盘中的 Tab 按钮

转载 作者:行者123 更新时间:2023-12-03 08:50:42 29 4
gpt4 key购买 nike

我在 JavaScript 中使用 RegEx 来限制用户无法输入除 RegEx 字符中允许的任何键之外的任何键,并且我已将包含 RegEx 的 JavaScript 函数分配给 TextBox 上的 OnKeyPress。不幸的是,当我按键盘上的 Tab 时,它不允许我移动到下一个控件。

这是代码:

<asp:TextBox ID="TextBox1" runat="server" Text="Field:" onkeypress="return AlphaNumericTextBox(event)" oncopy="return false" onpaste="return false"></asp:TextBox>

function AlphaNumericTextBox(event) {
var regex = new RegExp("^[a-zA-Z0-9\b\t]+$");

var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);

if (!regex.test(key)) {
event.preventDefault();

return false;
}
}

有人可以帮助我吗?我确信 "/t" 是正则表达式中键盘中 Tab 键的字符代码。我已经测试过了,只有当我按键盘上的 Tab 键时,它不允许我按:字母数字和退格键。

非常感谢您的回答!

谢谢。

最佳答案

使用indexOf内置 JavaScript 函数。没有比这更高效的了 :D

语法 --- arr.indexOf(searchElement[, fromIndex = 0])

Here is the JSFiddle demo

<小时/>

相关链接:

//代码

<!DOCTYPE html>
<html>
<head>
<script>
function keyFilter(key){
var filter = [97,98,99,100]; //a,b,c,d
if(filter.indexOf(key) >= 0){
console.log("a,b,c,d - filter");
}
else{
console.log("everything else");
}
}
</script>
</head>
<body>
<textarea onkeypress="keyFilter(event.keyCode);"></textarea>
</body>
</html>

关于javascript - 在 TextBox OnKeyPress 上使用 RegEx 无法按键盘中的 Tab 按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32685999/

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