gpt4 book ai didi

JavaScript OR 运算符

转载 作者:行者123 更新时间:2023-11-28 20:08:12 26 4
gpt4 key购买 nike

我很难确定我的代码出了什么问题

function NavCode() {
if ((event.keyCode > 31 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65)|| (event.keyCode > 90 && event.keyCode < 97)|| (event.keyCode > 122 && event.keyCode < 164)||(event.keyCode > 166) )
event.returnValue = false;
return false;
}

我的目标是只允许 0-9 数字 A-Za-z 字母 ñÑ 和特殊字符我成功实现了 0-9-A-ZazñÑ

使用此代码

function NavCode() {
if ((event.keyCode > 31 && event.keyCode < 48) || (event.keyCode > 57 && event.keyCode < 65)|| (event.keyCode > 90 && event.keyCode < 97)|| (event.keyCode > 122 && event.keyCode < 164))
event.returnValue = false;
return false;
}

问题在于它还允许 165 以上的 ASCII 字符,例如。 ªº¿但是当我添加 ||(event.keyCode > 166) 时,特殊字符不起作用,你能帮我只允许
0-9-A-ZazñÑ??我真的很难调试 java 脚本,因为我是新手

谢谢。

最佳答案

您在 if 上缺少大括号({}),因此您的 返回 false; line 始终执行,因为不带花括号的 if 仅有条件地执行下一行。

试试这个:

function NavCode() {
if ((event.keyCode > 31 && event.keyCode < 48) ||
(event.keyCode > 57 && event.keyCode < 65)||
(event.keyCode > 90 && event.keyCode < 97)||
(event.keyCode > 122 && event.keyCode < 164)) {
event.returnValue = false;
return false;
}
}

现在return false;仅当if条件为true时才会执行。

关于JavaScript OR 运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20392433/

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