String.indexOf() 查找子串位置
最后更新:2026-09-09
String.indexOf() 查找子串位置
indexOf 返回子串在字符串中首次出现的下标,找不到返回 -1。区分大小写。
| 分类 | 字符串 |
|---|---|
| ES 版本 | ES1 |
📝 语法
const 下标 = 字符串.indexOf(子串, 起始位置);
⚙️ 参数
| substring | 要查找的子串。 |
|---|---|
| position | 可选。起始查找位置,默认 0。 |
返回值:首次出现的下标,或 -1。
是否修改原值:否(返回新值)
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
3
-1
💡 提示 indexOf 找不到空子串时返回 0。
ℹ️ info 所有出现位置:while ((pos = str.indexOf(sub, pos + 1)) !== -1)。
🌐 浏览器支持
| 浏览器 | |||||
|---|---|---|---|---|---|
| String.indexOf() | ✓ v1 | ✓ v12 | ✓ v1 | ✓ v1 | ✓ v1 |
| 所有现代浏览器均支持 | |||||
🏷️ 相关条目
💡 相关案例
更多实战案例即将上线,敬请期待。
📚 相关教程
❓ 常见问题
QindexOf 返回 -1 怎么处理?
A子串不存在。-1 是 truthy,判断存在性要用 !== -1。
Q如何忽略大小写查找?
Atext.toLowerCase().indexOf(keyword.toLowerCase())。
Q如何找最后一次出现的位置?
A用 lastIndexOf()——从末尾向前搜索。