JavaScript Рядковий пошук
JavaScript Методи рядкового пошуку
- String indexOf()
- String lastIndexOf()
- String startsWith()
- String endsWith()
JavaScript Метод indexOf()
Метод indexOf() повертає індекс (позицію) first (першого) входження зазначеного тексту в рядок:
Приклад
let str = "Знайдіть, будь ласка місце, де розташовано слово 'locate'! ";
str.indexOf("locate");
Спробуйте самі »
Примітка
JavaScript підраховує позиції з нуля.
0 — перша позиція в рядку, 1 — друга, 2 — третя, ...
JavaScript Метод lastIndexOf()
Метод lastIndexOf() повертає індекс останнього входження зазначеного тексту в рядок:
Приклад
let str = "Будь ласка, знайдіть місце, де зустрічається 'locate'!";
str.lastIndexOf("locate");
Спробуйте самі »
Обидва методи, і indexOf(), і lastIndexOf() повертають -1, якщо текст не знайдено:
Приклад
let str = "Будь ласка, знайдіть місце, де зустрічається 'locate'!";
str.lastIndexOf("John");
Спробуйте самі »
Обидва методи приймають другий параметр як початкову позицію для пошуку:
Приклад
let str = "Будь ласка, знайдіть місце, де зустрічається 'locate'!";
str.indexOf("locate", 15);
Спробуйте самі »
Методи lastIndexOf() здійснюють пошук у зворотному напрямку (від кінця до початку), що означає: якщо другий параметр дорівнює 15, пошук починається з позиції 15 і виконується до початку рядка.
Приклад
let str = "Будь ласка, знайдіть місце, де зустрічається 'locate'!";
str.lastIndexOf("locate", 15);
Спробуйте самі »
JavaScript Метод search()
Метод search() шукає в рядку вказане значення та повертає позицію збігу:
Приклад
let str = "Будь ласка, знайдіть місце, де зустрічається 'locate'!";
str.search("locate");
Спробуйте самі »
Ви помітили?
Два методи, indexOf() і search(), є рівними?
Вони приймають однакові аргументи (параметри) і повертають однакове значення?
Ці два методи НЕ однакові. Ось такі відмінності:
- Метод
search()не може приймати другий аргумент початкової позиції. - Метод
indexOf()не може приймати потужні пошукові значення (регулярні вирази).
Ви дізнаєтеся більше про регулярні вирази в наступному розділі.
JavaScript Метод match()
Метод match() шукає в рядку збіг із регулярним виразом і повертає збіги як об’єкт Array.
Приклад 1
Шукати в рядку "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/g);
Спробуйте самі »
Докладніше про регулярні вирази читайте в розділі JS RegExp.
Примітка
Якщо регулярний вираз не включає модифікатор g (для виконання глобального пошуку), метод match() поверне лише перший збіг у рядку.
Синтаксис
string.match(regexp)
| regexp | Вимагається. Значення для пошуку, як регулярний вираз. |
| Повертає: | Масив, що містить збіги, один елемент для кожного збігу або null, якщо збігів не знайдено |
Приклад 2
Виконайте глобальний пошук без урахування регістру "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/gi);
Спробуйте самі »
JavaScript Метод includes()
Метод includes() повертає true, якщо рядок містить указане значення.
Синтаксис
string.includes(searchvalue, start)
| searchvalue | Вимагається. Рядок для пошуку |
| start | Додатково. За замовчуванням 0. Позиція для початку пошуку |
| Повертає: | Повертає true, якщо рядок містить значення, інакше false |
| JS Версія: | ES6 (2015) |
Перевірте, чи рядок містить "world", починаючи пошук із позиції 12:
let text = "Hello world, welcome to the universe.";
text.includes("world", 12);
Спробуйте самі »
Підтримка браузерами
includes() є функцією ES6 (JavaScript 2015).
Вона підтримується всіма сучасними браузерами:
| Chrome | Edge | Firefox | Safari | Opera |
| Yes | Yes | Yes | Yes | Yes |
includes() не підтримується в Internet Explorer.
JavaScript Метод startsWith()
Метод startsWith() повертає true, якщо рядок починається з указаного значення, інакше false:
Приклад
let text = "Hello world, welcome to the universe.";
text.startsWith("Hello");
Спробуйте самі »
Синтаксис
string.startsWith(searchvalue, start)
Значення параметрів
| Параметр | Опис |
|---|---|
| searchvalue | Вимагається. Значення для пошуку. |
| start | Додатково. За замовчуванням 0. Позиція для початку пошуку. |
Приклади
let text = "Hello world, welcome to the universe.";
text.startsWith("world") // Поверне false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5) // Поверне false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6) // Поверне true
Спробуйте самі »
Примітка
Метод startsWith() чутливий до регістру.
Підтримка браузерами
startsWith() є функцією ES6 (JavaScript 2015).
Вона підтримується всіма сучасними браузерами:
| Chrome | Edge | Firefox | Safari | Opera |
| Yes | Yes | Yes | Yes | Yes |
startsWith() не підтримується в Internet Explorer.
JavaScript Метод endsWith()
Метод endsWith() повертає true, якщо рядок закінчується вказаним значенням, інакше false:
Приклад
Перевірте, чи закінчується рядок на "Doe":
let text = "John Doe";
text.endsWith("Doe");
Спробуйте самі »
Синтаксис
string.endsWith(searchvalue, length)
Значення параметрів
| Параметр | Опис |
|---|---|
| searchvalue | Вимагається. Значення для пошуку. |
| length | Додатково. Довжина пошуку. |
Перевірте, чи закінчуються 11 перших символів рядка на "world":
let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11);
Примітка
Метод endsWith() чутливий до регістру.
Підтримка браузерами
endsWith()є функцією ES6 (JavaScript 2015).
Вона підтримується всіма сучасними браузерами:
| Chrome | Edge | Firefox | Safari | Opera |
| Yes | Yes | Yes | Yes | Yes |
endsWith() не підтримується в Internet Explorer.
Повний довідник рядків
Щоб отримати повну довідкову інформацію про рядки, перейдіть на:
Повний довідник JavaScript рядків на нашому сайті W3Schools українською.
Довідник містить описи та приклади всіх властивостей і методів рядків.

