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

如何使用jQuery检测字符串是否包含指定数值?

如何用jQuery检测字符串是否包含指定数值?

其实严格来说,检测字符串包含特定内容不需要依赖jQuery,原生JavaScript的方法就足够好用啦。不过既然你提到了jQuery,我也会结合你的场景给出清晰的示例。

针对你给出的例子:a=13,c=12,b='we have 13 monkeys in the Zoo',要判断a存在于b中为真且c存在于b中为假,可以这样实现:

方法一:使用原生String.includes()(推荐)

这是ES6之后支持的方法,语法简洁直观,可读性拉满:

const a = 13;
const c = 12;
const b = 'we have 13 monkeys in the Zoo';

// 记得把数值转成字符串再判断,避免类型不匹配的问题
const isAInB = b.includes(a.toString());
const isCInB = b.includes(c.toString());

// 最终的判断条件
const result = isAInB && !isCInB;
console.log(result); // 输出 true

方法二:使用原生String.indexOf()(兼容旧浏览器)

如果需要兼容不支持ES6的老旧环境,indexOf()是更稳妥的选择:

const a = 13;
const c = 12;
const b = 'we have 13 monkeys in the Zoo';

// indexOf返回匹配内容的起始索引,找不到就返回-1
const isAInB = b.indexOf(a.toString()) !== -1;
const isCInB = b.indexOf(c.toString()) !== -1;

const result = isAInB && !isCInB;
console.log(result); // 输出 true

为什么说不需要jQuery?

jQuery的核心能力集中在DOM操作、事件处理、Ajax这些场景,并没有专门为字符串包含检测设计方法。所以用原生JS方法反而更直接高效,没必要多一层依赖。

不过如果你非要贴合jQuery的语法风格(比如链式调用),可以给String原型扩展一个方法(个人不推荐,除非项目有统一规范要求):

$.fn.extend({
  includes: function(str) {
    return this[0].includes(str);
  }
});

// 调用方式(需要把字符串包装成jQuery对象)
const $b = $(b);
const isAInB = $b.includes(a.toString());

但还是那句话,这种做法纯属画蛇添足,原生方法已经足够好用了。


内容的提问来源于stack exchange,提问作者Igor Tischenko

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:07:44