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

如何判断文本是否包含列表中的完整名称(JS/jQuery实现)

解决方案:检查文本中是否包含完整名称子串

看起来你需要的是判断待检测文本里是否存在name_list中的某一个完整名称作为连续子串——而不是检查文本是否是名称列表里的项,也不是匹配部分字符。之前用数组includes方法不符合需求,应该是搞反了检查方向啦😉

实现代码

function do_some_stuff(name_list, text_be_checked) {
  // 遍历名称列表,只要有一个名称是文本的子串就返回true
  return name_list.some(name => text_be_checked.includes(name));
}

验证示例

我们来测试你给出的所有场景:

const name_list = ['Annie','John','Lyam','Mary'];

// 示例1:文本就是完整名称
console.log(do_some_stuff(name_list, 'Annie')); // true ✅

// 示例2:只有名称的一部分,没有完整的Annie
console.log(do_some_stuff(name_list, 'Ann')); // false ✅

// 示例3:文本包含完整的Annie(前面有数字)
console.log(do_some_stuff(name_list, '1Annie')); // true ✅

// 示例4:文本里的Annie被数字打断,不是完整子串
console.log(do_some_stuff(name_list, 'An2nie')); // false ✅

// 示例5:文本包含完整的John
console.log(do_some_stuff(name_list, 'Anni_John')); // true ✅

补充说明

  • Array.some()会遍历数组中的每个元素,只要有一个元素满足条件就立即返回true,不用遍历完所有元素,效率不错
  • 如果需要兼容IE这类不支持String.includes()的老浏览器,可以替换成indexOf判断:
function do_some_stuff(name_list, text_be_checked) {
  return name_list.some(name => text_be_checked.indexOf(name) !== -1);
}

内容的提问来源于stack exchange,提问作者David Foie Gras

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 09:00:28