JavaScript 判断字符串是否包含子串
在 JavaScript 中,可以使用 String 对象的 indexOf 方法来查找子字符串。
indexOf 方法说明
indexOf 方法返回 String 对象内第一次出现子字符串的字符位置。如果没有找到子字符串,则返回 -1。
语法
strObj.indexOf(subString[, startIndex])
参数
- strObj (必选): String 对象或文字。
- subString (必选): 要在 String 对象中查找的子字符串。
- startIndex (可选): 该整数值指出在 String 对象内开始查找的索引。如果省略,则从字符串的开始处查找。
返回值
返回一个整数值,指出 String 对象内子字符串的开始位置。如果没有找到子字符串,则返回 -1。
如果 startIndex 是负数,则被当作零。如果它比最大的字符位置索引还大,则被当作最大的可能索引。从左向右执行查找。
代码示例
下面的示例说明了 indexOf 方法的用法及判断逻辑:
function IndexDemo(str2) {
var str1 = "BABEBIBOBUBABEBIBOBU";
var s = str1.indexOf(str2);
return s;
}
// 判断字符串是否包含某子串
var test = "aa";
if (test.indexOf("a") >= 0) {
// 找到了子串
}
注意事项
indexOf区分大小写。如需忽略大小写,建议先将字符串转换为统一大小写后再进行比较。- 判断包含关系时,索引值应为
>= 0,因为子串可能出现在索引 0 的位置。

