JavaScript String search() 方法

定義和用法

search() 方法將字符串與正則表達式匹配。

注釋:如果搜索值為字符串,則轉換為正則表達式。

search() 方法返回第一個匹配項的索引(位置)。

如果未找到匹配項,則 search() 方法返回 -1

提示:search() 方法區分大小寫。

另請參閱:

正則表達式教程

正則表達式參考手冊

String search() 與 String indexOf() 的區別

search() 不能采用起始位置參數。

indexOf() 方法無法搜索正則表達式。

String search() 與 String match() 的區別

search() 方法返回第一個匹配的位置。

match() 方法返回匹配數組。

實例

例子 1

搜索 "Blue":

let text = "Mr. Blue has a blue house";
let position = text.search("Blue");

親自試一試

例子 2

搜索 "blue":

let text = "Mr. Blue has a blue house";
let position = text.search("blue");

親自試一試

例子 3

搜索 /Blue/:

let text = "Mr. Blue has a blue house";
let position = text.search(/Blue/);

親自試一試

例子 4

搜索 /blue/

let text = "Mr. Blue has a blue house";
let position = text.search(/blue/);

親自試一試

例子 5

不區分大小寫的搜索:

let text = "Mr. Blue has a blue house";
let position = text.search(/blue/i);

親自試一試

語法

string.search(regexp)

參數

參數 描述
regexp

必需。搜索值。

正則表達式(或將轉換為正則表達式的字符串)。

返回值

類型 描述
數字 第一個匹配的位置。如果未匹配,則返回 -1

技術細節

參數 regexp

該參數是要在字符串 string 中檢索的 RegExp 對象,該對象具有指定的模式。如果該參數不是 RegExp 對象,則首先將它傳遞給 RegExp() 構造函數,把它轉換成 RegExp 對象。

返回值

string 中第一個與 regexp 相匹配的子串的起始位置。

注釋:如果沒有找到任何匹配的子串,則返回 -1

說明

search() 方法在字符串 string 字符串中檢索與 regexp 相匹配的子串,并且返回第一個匹配子串的第一個字符的位置。如果沒有找到任何匹配的子串,則返回 -1

search() 方法不執行全局匹配,它將忽略標志 g。它同時忽略 regexp 的 lastIndex 屬性,并且總是從字符串的開始進行檢索,這意味著它總是返回 string 的第一個匹配的位置。

正則表達式搜索方法

在 JavaScript 中,正則表達式文本搜索可以用不同的方法完成。

通過將模式作為正則表達式,這些是最常用的方法:

示例 描述
text.match(pattern) 字符串方法 match()
text.search(pattern) 字符串方法 search()
pattern.exec(text) 正則表達式方法 exec()
pattern.test(text) 正則表達式方法 test()

瀏覽器支持

search() 是 ECMAScript1 (ES1) 特性。

所有瀏覽器都完全支持 ES1 (JavaScript 1997):

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

相關頁面

JavaScript 字符串

JavaScript 字符串方法

JavaScript 字符串搜索