javascript - 如果值包含数组中的一个或多个

标签 javascript

我正在尝试显示项目列表...

项目A 项目B 项目C 项目D

我可以告诉代码不要显示任何包含 A 的项目,如下所示:

exclusions = new Array("A")
if (v.value.indexOf(exclusions) > -1) {
}
else {
DO SOMETHING
}

我遇到困难的是,如果我希望它排除多个,如下所示:

exclusions = new Array("A", "B")
if (v.value.indexOf(exclusions) > -1) {
}
else {
DO SOMETHING
}

最佳答案

一种方法是使用正则表达式。

var matches = "there is a boy".match(/[ab]/);
if (matches === null) {
   // neither a nor b was present
}

如果您需要从字符串构造正则表达式,您可以这样做

var matches = "there is a boy".match(new RegExp("[ab]"));

如果您有一个像 ['a', 'b'] 这样的字符串数组,那么您需要执行类似的操作

var pattern = yourArray.join('');
var regex = new RexExp(pattern);

这里我们构造一个字符串,它是一个模式,然后根据该模式创建一个新的正则表达式。

关于javascript - 如果值包含数组中的一个或多个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11900930/

相关文章:

javascript - getImageData() 只给我红色、绿色和蓝色值 0

javascript - 使用 javascript 正则表达式搜索/替换自定义标记

javascript - 单独的 VueJS 子路由

javascript - Javascript 中的构造函数不返回原型(prototype)函数传递的正确值

javascript - 为什么我的 React 应用程序中的两个点击事件会同时运行?

javascript - 动画显示谷歌地图和谷歌街景的路线

javascript - 未捕获的运行时 JavaScript 异常 (Rhino)

javascript - 将 jQuery 代码转换为 Javascript

javascript - 我如何将 javascript 变量包装在 span 或 bold 标记中?

javascript - 无法让 BBP 公式在 nodejs 中工作