JavaScript метод String.prototype.search()

Определение и применение

JavaScript метод search() выполняет поиск первого соответствия (сопоставления) регулярному выражению (объект RegExp) внутри строки.

Метод search() возвращает позицию первого символа найденной подстроки, в противном случае (если соответствие не найдено) метод вернёт значение –1.

Для стандартного RegExp поиск начинается с нуля, флаг g не влияет на результат, исходный lastIndex восстанавливается. Флаг y требует совпадения в начале строки. Если совпадения нет, возвращается -1.

Поддержка браузерами

Спецификация: ecma262

Поддерживается во всех основных браузерах с 2015 года.

Показать браузеры
Совместимостьjavascript.builtins.String.search
ВозможностьКомпьютерыМобильные
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOSSamsung BrowserWebView AndroidWebView on iOS
search✓1✓12✓1✓4✓1✓18✓4✓10.1✓1✓1.0✓4.4✓1

поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31

JavaScript синтаксис

JavaScript
string.search(); // возвращает значение 0

string.search(regexp);

Спецификация

ECMAScript: String.prototype.search()

Значения параметров

String: справочные сведения
Параметр Описание
regexp Объект регулярного выражения. Если передается объект, который не является регулярным выражением, то он неявно преобразуется в регулярное выражение с помощью вызова конструктора new RegExp(regexp). Необязательный параметр.

Примеры, попробуйте сами

В примере «Позиция совпадения регулярного выражения» показан результат вызова метода.

Позиция совпадения регулярного выражения

Измените исходную строку или аргумент метода и сравните результат после запуска.

index.html
HTML
<!doctype html>
<html lang="ru">
  <head>
    <meta charset="UTF-8" />
    <title>Позиция совпадения регулярного выражения</title>
  </head>
  <body>
    <p>Результат выполнения выводится в консоль.</p>
  </body>
</html>
main.js
JavaScript
const myText = 's7t89ring0' // инициализируем переменную, содержащую строку

const pattern = /ring/ // соответствует вхождению строки ring
const pattern2 = /\d/ // соответствует вхождению любой цифры

// производим поиск по заданной строке с использованием регулярного выражения
const arr = myText.search(pattern)
const arr2 = myText.search(pattern2)

// выводим значение переменных
console.log(arr) // 5
console.log(arr2) // 1