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 українською.
Довідник містить описи та приклади всіх властивостей і методів рядків.