String.prototype.search()
Метод search()
виконує пошук збігів між переданим регулярним виразом і об'єктом рядка
, на якому викликається.
Спробуйте його в дії
Синтаксис
search(regexp)
Параметри
regexp
Об'єкт регулярного виразу.
Якщо аргументом
regexp
передано не регулярний вираз, то такий аргумент неявно перетворюється наRegExp
за допомогою викликуnew RegExp(regexp)
.
Повернене значення
Індекс першого збігу вмісту рядка з регулярним виразом, або -1
— якщо збігу знайдено не було.
Опис
Коли необхідно дізнатися, чи певний патерн має збіг у рядку, і також його індекс в рядку, слід використовувати search()
. (Якщо потрібно просто перевірити, чи він має збіг у рядку, то краще вжити схожий метод test()
прототипного об'єкта RegExp
, який повертає булеве значення.)
Для отримання докладнішої інформації (але повільнішого виконання) можна використати match()
(схожий до методу exec()
регулярного виразу).
Приклади
Застосування методу search()
Наступний приклад шукає збіг з двома різними регулярними виразами для ілюстрації різниці між успішним пошуком (додатне значення) та неуспішним (-1
)
let str = "hey JudE"
let re = /[A-Z]/g
let reDot = /[.]/g
console.log(str.search(re)) // повертає значення 4 — індекс першої великої літери "J"
console.log(str.search(reDot)) // повертає -1 — не може знайти розділовий знак '.'
Специфікації
Сумісність із браузерами
desktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
search
|
Chrome Full support 1 | Edge Full support 12 | Firefox Full support 1 | Internet Explorer Full support 4 | Opera Full support 4 | Safari Full support 1 | WebView Android Full support 1 | Chrome Android Full support 18 | Firefox for Android Full support 4 | Opera Android Full support 10.1 | Safari on iOS Full support 1 | Samsung Internet Full support 1.0 | Deno Full support 1.0 | Node.js Full support 0.10.0 |
flags
|
Chrome No support No | Edge No support No | Firefox No support 1 – 49 | Internet Explorer No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox for Android No support 4 – 49 | Opera Android No support No | Safari on iOS No support No | Samsung Internet No support No | Deno No support No | Node.js No support No |