我在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;
}
}
有人可以帮助我吗?我确信&#34; / t&#34; 是RegEx for键盘中Tab键的字符代码。我测试了它,只有当我按下键盘上的Tab键时,它才允许我,它只允许我按下:字母数字和退格键。
你的回答非常感谢!
谢谢。
答案 0 :(得分:1)
使用indexOf内置的javascript函数。在那里没有比那更有效率:D
语法--- arr.indexOf(searchElement[, fromIndex = 0])
相关链接:
// CODE
<!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>