JavaScript Поиск строк
JavaScript Методы поиска строк
- Метод строк indexOf()
- Метод строк lastIndexOf()
- Метод строк startsWith()
- Метод строк endsWith()
JavaScript Метод indexOf()
Метод indexOf()
возвращает индекс (позицию) первого
вхождения указанного текста в строку:
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.indexOf("размещение");
Попробуйте сами »
Примечание
JavaScript отсчитывает позиции с нуля.
0 - первая позиция в строке, 1 - вторая, 2 - третья, ...
JavaScript Метод lastIndexOf()
Метод lastIndexOf()
возвращает индекс последнего вхождения указанного текста в строке:
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.lastIndexOf("размещение");
Попробуйте сами »
indexOf()
, и lastIndexOf()
возвращают значение -1, если текст не найден:
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.lastIndexOf("размещение");
Попробуйте сами »
Оба метода принимают второй параметр в качестве начальной позиции для поиска:
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.indexOf("размещение", 15);
Попробуйте сами »
Метод lastIndexOf()
выполняет поиск в обратном направлении (с конца), что означает: если второй параметр равен 15
, поиск начинается с позиции 15 и выполняется до начала строки.
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.lastIndexOf("размещение", 15);
Попробуйте сами »
JavaScript Метод search()
Метод search()
выполняет поиск в строке указанного значения и возвращает позицию совпадения:
Пример
let str = "Пожалуйста, найдите, где происходит "размещение"!";
str.search("размещение");
Попробуйте сами »
Вы Заметили?
Методы indexOf()
и search()
, являются ли равными?
Они принимают одни и те же аргументы (параметры) и возвращают одно и то же значение?
Эти два метода НЕ равны. Вот в чем их различия:
- Метод
search()
не может принимать второй аргумент начальной позиции. - Метод
indexOf()
не может принимать мощные значения поиска (регулярные выражения).
Вы узнаете больше о регулярных выражениях в следующей главе.
JavaScript Метод match()
Метод match() выполняет поиск строки на предмет соответствия регулярному выражению и возвращает совпадения в виде объекта массива.
Пример 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, если строка содержит указанное значение.
Пример
let text = "Привет, мир, добро пожаловать во вселенную.";
text.includes("мир");
Попробуйте сами »
Синтаксис
string.includes(searchvalue, start)
searchvalue | Требуемый. Строка для поиска |
start | Необязательный. Значение по умолчанию 0. Позиция для начала поиска |
Возвращается: | Возвращается true если строка содержит значение, в противном случае false |
JS Версия: | ES6 (2015) |
Проверьте, содержит ли строка "мир", начиная поиск с позиции 12:
let text = "Привет мир, добро пожаловать во вселенную.";
text.includes("мир", 12);
Попробуйте сами »
Поддержка браузера
Метод includes()
является функцией ES6 (JavaScript 2015).
Поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Да | Да | Да | Да | Да |
includes()
не поддерживается в Internet Explorer.
JavaScript Метод startsWith()
Метод startsWith()
возвращает true
, если строка начинается с указанного значения, в противном случае false
:
Пример
let text = "Привет мир, добро пожаловать во вселенную.";
text.startsWith("Привет");
Попробуйте сами »
Синтаксис
string.startsWith(searchvalue, start)
Параметр значений
Параметр | Описание |
---|---|
searchvalue | Требуемый. Значение для поиска. |
start | Необязательный. Значение по умолчанию 0. Позиция для начала поиска. |
Примеры
let text = "Привет мир, добро пожаловать во вселенную.";
text.startsWith("мир") // Возвращается false
let text = "Привет мир, добро пожаловать во вселенную.";
text.startsWith("мир", 5) // Возвращается false
let text = "Привет мир, добро пожаловать во вселенную.";
text.startsWith("мир", 7) // Возвращается true
Попробуйте сами »
Примечание
Метод startsWith()
чувствителен к регистру.
Поддержка браузера
Метод startsWith()
является функцией ES6 (JavaScript 2015).
Поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Да | Да | Да | Да | Да |
Метод startsWith()
не поддерживается в Internet Explorer.
JavaScript Метод endsWith()
Метод endsWith()
возвращает true
, если строка заканчивается указанным значением, в противном случае false
:
Пример
Проверьте, заканчивается ли строка на "Андрей":
var text = "Щипунов Андрей";
text.endsWith("Андрей");
Попробуйте сами »
Синтаксис
string.endswith(searchvalue, length)
Параметр значений
Параметр | Описание |
---|---|
searchvalue | Требуемый. Значение для поиска. |
length | Необязательный. Длина для поиска. |
Отметьте 11 первых символов строки, заканчивающейся на "мир":
let text = "Привет мир, добро пожаловать во вселенную.";
text.endsWith("мир", 10);
Примечание
Метод endsWith()
метод чувствителен к регистру.
Поддержка браузера
Метод endsWith()
является функцией ES6 (JavaScript 2015).
Поддерживается во всех современных браузерах:
Chrome | Edge | Firefox | Safari | Opera |
Да | Да | Да | Да | Да |
Метод endsWith()
не поддерживается в Internet Explorer.
Полный справочник по строкам
Для получения полного справочника по строкам перейдите по ссылке:
Справочник содержит описания и примеры всех строковых свойств и методов.