js 判断字符串中是否有某字符串

本文通过一个简单的JavaScript脚本示例介绍了如何使用indexOf方法来检查字符串中是否包含特定的子字符串。当找到指定的子字符串时,脚本将输出一个数字1到控制台。此方法在网页开发中用于字符串搜索非常实用。

<script>
var test=['<div class="cur"></div>','<div class="cur"></div>'];
if(test[0].indexOf('class="cur"')>-1){
console.log(1)
}
</script>

如果没有找到 indexOf则会返回-1 

所有大于-1就好

转载于:https://www.cnblogs.com/shilie/p/5408777.html

<think>我们正在处理用户关于"JavaScript检查字符串是否包含子字符串"的问题。根据引用[1]和[2],我们知道在ES6之前,通常使用indexOf方法,而在ES6中可以使用includes方法。引用[1]提供了StackOverflow的链接,引用[2]解释了indexOf和includes的用法。引用[3]是一个代码片段,展示了在查询中使用字符串包含检查的上下文,但问题是如何检查participants是否包含username,这暗示了包含检查的需求。引用[4]是关于JavaScript对象的,与当前问题关系不大,但我们可以忽略它。因此,我们将重点介绍两种方法:indexOf和includes。步骤:1.使用indexOf方法:如果返回-1,则不包含;否则包含。2.使用includes方法:直接返回布尔值。同时,我们还可以提到其他方法,比如search、match(使用正则表达式)等,但用户的问题是最直接的包含关系,所以includes和indexOf是最常用的。注意:用户可能关心大小写敏感问题,但问题中没有提到,所以我们先提供基本方法,然后可以补充说明大小写不敏感的处理。另外,根据引用[2]:在ES6之前,常用indexOf;ES6开始,可以使用includes。我们将按照以下结构回答:-介绍indexOf方法(ES6之前)-介绍includes方法(ES6)-简单提及其他方法(如search、match、正则表达式test)-补充说明大小写不敏感的处理同时,生成相关问题。注意:用户的问题是“javascriptcheckifstringcontainsanotherstring”,所以我们的回答要直接解决这个问题。</think>在 JavaScript 中检查字符串是否包含子字符串,主要有以下方法: ### 1. **`includes()` 方法**(ES6+推荐) 最简洁的方式,直接返回布尔值: ```javascript const mainStr = "Hello world"; const subStr = "world"; console.log(mainStr.includes(subStr)); // true ``` 特点: - 区分大小写:`"Apple".includes("a")` 返回 `false` - 可指定起始搜索位置:`"hello".includes("e", 2)` 从索引2开始搜索 ### 2. **`indexOf()` 方法**(ES6之前通用) 返回子字符串的索引位置,未找到则返回 `-1`: ```javascript if (mainStr.indexOf(subStr) !== -1) { console.log("包含子字符串"); } ``` ### 3. **正则表达式方法** 适用于复杂匹配场景: ```javascript // 简单匹配 console.log(/world/.test(mainStr)); // true // 不区分大小写匹配 console.log(/WoRLd/i.test(mainStr)); // true ``` ### 4. **`search()` 方法** 类似 `indexOf()` 但支持正则表达式: ```javascript console.log(mainStr.search(/wor/)); // 返回匹配索引 6 console.log(mainStr.search(/abc/) !== -1); // false ``` ### 性能说明 - `includes()` 和 `indexOf()` 性能接近[^1] - 简单匹配推荐 `includes()`(语义最清晰) - 复杂模式(如忽略大小写)用正则表达式 ### 大小写敏感处理 ```javascript // 转换为相同大小写再比较 console.log(mainStr.toLowerCase().includes("WORLD".toLowerCase())); // true ``` ### 示例场景 ```javascript // 检查用户输入 const userInput = "I like JavaScript"; if (userInput.includes("JavaScript")) { console.log("包含关键词"); } // 过滤数组 const languages = ["JavaScript", "Python", "Java"]; const jsRelated = languages.filter(lang => lang.includes("Java")); console.log(jsRelated); // ["JavaScript", "Java"] ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值