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

如何用JavaScript的includes方法检测URL是否包含多个指定字符串?

如何让URL检测函数支持多字符串匹配(任一存在即返回true)

原函数仅能检测单个字符串:

const doesItContain = () => {
  const url = window.location.href;
  return url.includes('/items');
};

要实现检测多个字符串且任一存在即返回true的需求,有两种简洁的实现方式:

方案1:传入匹配字符串数组

修改函数使其接收数组参数,利用Array.some()方法实现任一匹配即返回true:

const doesItContain = (targets) => {
  const url = window.location.href;
  // 遍历数组,找到第一个匹配项就立即返回true,无需遍历剩余元素
  return targets.some(target => url.includes(target));
};

// 调用示例
doesItContain(['/items', '/users']);

方案2:直接传入多个参数(更灵活)

如果不想每次打包成数组,用ES6剩余参数语法让函数支持直接传入多个字符串:

const doesItContain = (...targets) => {
  const url = window.location.href;
  return targets.some(target => url.includes(target));
};

// 调用示例
doesItContain('/items', '/users');

...targets会自动把所有传入的参数收集成数组,后续逻辑和方案1完全一致。

可选:边界情况处理

如果需要处理未传入任何目标字符串的场景,可以添加判断避免无意义检测:

const doesItContain = (...targets) => {
  // 没有传入检测目标时直接返回false
  if (targets.length === 0) return false;
  const url = window.location.href;
  return targets.some(target => url.includes(target));
};

内容的提问来源于stack exchange,提问作者Leo Messi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:50:18