JavaScript метод String.prototype.indexOf()
Определение и применение
JavaScript метод indexOf() возвращает позицию первого найденного вхождения указанного значения в
строке. Для осуществления поиска последнего найденного вхождения указанного значения в строке вы можете
воспользоваться методом
lastIndexOf().
Поддержка браузерами
Спецификация: ecma262
Поддерживается во всех основных браузерах с 2015 года.
| Возможность | Компьютеры | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
indexOf | 1 | 12 | 1 | 3 | 1 | 18 | 4 | 10.1 | 1 | 1.0 | 4.4 | 1 |
поддерживаетсяс ограниченияминет поддержкинет данных≤31 — не позднее версии 31
JavaScript синтаксис
// поиск переданной строки осуществляется с нулевого индекса
string.indexOf( searchValue );
// поиск переданной строки осуществляется с заданного индекса
string.indexOf( searchValue, fromIndex );
Спецификация
ECMAScript: String.prototype.indexOf()
Значения параметров
| Параметр | Описание |
|---|---|
searchValue |
Строка используемая для поиска. Обязательное значение. Если в качестве значения передана пустая строка, то возвращается начальная позиция поиска, ограниченная диапазоном от 0 до длины строки. |
fromIndex |
Целое число, которое определяет индекс с которого начинается поиск. Значение по умолчанию 0.
Необязательное значение. Если указано значение меньше нуля, то поиск начинается с начала строки, если значение выходит из допустимого диапазона ( fromIndex >= string.length), то метод возвращает -1, но только не в
том случае, когда передана пустая строка, в этом случае возвращается длина строки по которой происходит поиск.
|
Если совпадения нет, возвращается -1. Индекс измеряется в кодовых единицах UTF-16. Искомое значение
преобразуется в строку; исходная строка не меняется.
Примеры, попробуйте сами
В примере «Первое вхождение и пустая строка» показан результат вызова метода.
Первое вхождение и пустая строка
Измените исходную строку или аргумент метода и сравните результат после запуска.
index.html
<html lang="ru">
<head>
<meta charset="UTF-8" />
<title>Первое вхождение и пустая строка</title>
</head>
<body>
<p>Результат выполнения выводится в консоль.</p>
</body>
</html>
main.js
var x = 'stringstring' // инициализируем переменную, содержащую строку
console.log(x.indexOf('')) // возвращаемое значение 0 (поиск пустой строки)
console.log(x.indexOf('s')) // возвращаемое значение 0
console.log(x.indexOf('rin')) // возвращаемое значение 2
console.log(x.indexOf('g')) // возвращаемое значение 5
console.log(x.indexOf('String')) // возвращаемое значение -1
console.log(x.indexOf('ri', -2)) // возвращаемое значение 2
console.log(x.indexOf('ri', 2)) // возвращаемое значение 2
console.log(x.indexOf('ri', 3)) // возвращаемое значение 8
console.log(x.indexOf('ri', 9)) // возвращаемое значение -1
console.log(x.indexOf('', 99)) // возвращаемое значение 12 (длина строки)
console.log('abc'.indexOf('', 2)) // 2