JavaScript String indexOf() 方法

定义和用法

indexOf() 方法返回值在字符串中第一次出现的位置。

如果未找到该值,则 indexOf() 方法返回 -1

indexOf() 方法区分大小写。

另请参阅:

lastIndexOf() 方法

search() 方法

match() 方法

实例

例子 1

在字符串中搜索 "welcome":

let text = "Hello world, welcome to the universe.";
let result = text.indexOf("welcome");

亲自试一试

例子 2

在字符串中搜索 "welcome":

let text = "Hello world, welcome to the universe.";
let result = text.indexOf("Welcome");

亲自试一试

例子 3

找到 "e" 的第一个匹配项:

let text = "Hello world, welcome to the universe.";
text.indexOf("e");

亲自试一试

例子 4

从位置 5 开始查找 "e" 的第一个匹配项:

let text = "Hello world, welcome to the universe.";
text.indexOf("e", 5);

亲自试一试

例子 5

找到 "a" 的第一个匹配项:

let text = "Hello world, welcome to the universe.";
text.indexOf("a");

亲自试一试

语法

string.indexOf(substring, start)

参数

参数 描述
substring 必需。要搜索的字符串。
start 可选。开始的位置(默认为 0)。

返回值

类型 描述
数字

搜索值出现的第一个位置。

如果未找到子串,则返回 -1

技术细节

返回值

如果在 string 中的 start 位置之后存在 substring,返回出现的第一个 substring 的位置。如果没有找到子串,则返回 -1

说明

String.indexOf() 方法从头到尾检索字符串 string,看它是否包含子串 substring。开始检索的位置在字符串 stringstart 处或 string 的开头(没有指定 start 参数时)。如果找到了一个 substring,那么 String.indexOf() 将返回 substring 的第一个字符在 string 中的位置。string 中的字符位置是从 0 开始的。如果在 string 中没有找到 substring,那么 String.indexOf() 方法将返回 -1

String indexOf() 与 String search() 的区别

indexOf() 方法无法搜索正则表达式。

search() 不能采用起始位置参数。

浏览器支持

indexOf() 是 ECMAScript1 (ES1) 特性。

所有浏览器都完全支持 ES1 (JavaScript 1997):

Chrome IE Edge Firefox Safari Opera
Chrome IE Edge Firefox Safari Opera
支持 支持 支持 支持 支持 支持

相关页面

JavaScript 字符串

JavaScript 字符串方法

JavaScript 字符串搜索