JavaScript метод String.prototype.search()
Определение и применение
JavaScript метод search() выполняет поиск первого соответствия (сопоставления) регулярному
выражению (объект
RegExp) внутри строки.
Метод search() возвращает позицию первого символа найденной подстроки, в противном случае (если
соответствие не найдено) метод вернёт значение –1.
Для стандартного RegExp поиск начинается с нуля, флаг g не влияет на результат, исходный
lastIndex восстанавливается. Флаг y требует совпадения в начале строки. Если совпадения нет,
возвращается -1.
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
search | 1 | 12 | 1 | 4 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
string.search(); // возвращает значение 0
string.search(regexp);
Спецификация
ECMAScript: String.prototype.search()
Значения параметров
| Параметр | Описание |
|---|---|
regexp |
Объект регулярного выражения. Если передается объект, который не является регулярным выражением, то он неявно
преобразуется в регулярное выражение с помощью вызова конструктора
new RegExp(regexp).
Необязательный параметр.
|
Примеры, попробуйте сами
В примере «Позиция совпадения регулярного выражения» показан результат вызова метода.
Позиция совпадения регулярного выражения
Измените исходную строку или аргумент метода и сравните результат после запуска.
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Позиция совпадения регулярного выражения</title>
</head>
<body>
<p>Результат выполнения выводится в консоль.</p>
</body>
</html>
main.js
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