跳到主要内容

JavaScript 字符串 search() 方法

search() 方法在给定字符串和正则表达式之间搜索匹配项。

示例

let sentence = "I love JavaScript.";

// 模式,搜索第一个大写字母的出现
let regExp = /[A-Z]/;

// 在 regExp 和给定字符串之间搜索匹配
let indexReg = sentence.search(regExp);

console.log(indexReg);

// 输出:0

search() 语法

search() 方法的语法为:

str.search(regexp);

这里,str 是一个字符串。

search() 参数

search() 方法接受单个参数:

  • regExp - 一个正则表达式对象(如果非 regExp 对象的参数会被隐式转换为 regExp

search() 返回值

  • 返回正则表达式和给定字符串之间第一个匹配项的索引
  • 如果未找到匹配项,则返回 -1

示例 1:使用 search() 方法

// 定义字符串
let string1 = "JavaScript JavaScript1";

// 模式,'JavaScript' 后跟一个数字
let regExp = /(JavaScript)\d/;

// 在 regExp 和给定字符串之间搜索匹配
let index = string1.search(regExp);

console.log(index);

输出

11;

在上述示例中,我们使用了 search() 方法在正则表达式和给定字符串之间搜索匹配。

这里 regExp 指示一个模式,即 'JavaScript' 后跟一个数字。

string1.search(regExp) 执行搜索并返回 11,即找到匹配项 'JavaScript1' 的索引值。

示例 2:在 search() 中传递非 regExp

let string1 = "I love to code in JavaScript.";

// 在给定字符串中搜索单词 "JavaScript"
let index = string1.search("code");

console.log(index);

输出

10;

在上述示例中,我们在 search() 方法中传递了非正则表达式 'code'

该方法隐式将 'code' 转换为 regExp 并在给定字符串中执行搜索。

string1.search("code") 返回 10,这是 'code' 的索引。

推荐阅读: JavaScript String match()