You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JS设置搜索大小写不敏感时if判断错误else分支失效如何解决

问题原因

你修改后的判断条件if(search == "about" || "About")存在语法逻辑错误:
JavaScript中||逻辑或运算符会判断两侧表达式的布尔值,非空字符串"About"本身的布尔值永远为true,所以无论搜索框输入什么内容,整个判断条件都会返回true,自然不会触发else分支。

实现大小写不敏感匹配的两种常用方案

方案1:统一转换输入值的大小写后匹配

将输入的搜索值统一转为全小写(或全大写),再和固定大小写的目标字符串匹配,是最简便性能最优的方案:

function Focus(){
    var search = document.getElementById("search-box").value;
    // 转全小写后匹配
    if(search.toLowerCase() === "about"){
        document.getElementById("about").focus();
    } else{
        alert("Not Found");
    }
}

同理也可以用toUpperCase()转全大写后和"ABOUT"匹配,效果完全一致。

方案2:使用忽略大小写的正则匹配

用带i修饰符的正则表达式做全匹配,也可以实现大小写不敏感校验:

function Focus(){
    var search = document.getElementById("search-box").value;
    // i修饰符表示忽略大小写,^和$限定完全匹配输入内容
    if(/^about$/i.test(search)){
        document.getElementById("about").focus();
    } else{
        alert("Not Found");
    }
}

内容的提问来源于stack exchange,提问作者Shanid P

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 15:00:00