Метод indexOf осуществляет поиск подстроки (указывается первым параметром) в строке.

Метод вернет позицию первого совпадения, а если оно не найдено - то -1.

Вторым параметром (он необязателен) можно передать номер символа, откуда следует начинать поиск.

Метод чувствителен к регистру символов.

См. также метод lastIndexOf, которая также осуществляет поиск подстроки, но начинает поиск не с начала строки, а с конца.

Синтаксис

строка.indexOf(что ищем, [откуда начинать поиск]);

Примеры

Пример

В данном примере в строке 'Я учу учу Javascript' ищется слово 'учу'. Метод вернет 2 (с этой позиции начинается первое слово 'учу' в строке):

var str = 'Я учу учу Javascript';
document.write(str.indexOf('учу'));

Результат выполнения кода:

2

Пример

В данном примере в строке 'Я учу учу Javascript' также ищется слово 'учу', однако поиск начинается с 5-той позиции (я указал это вторым параметром). Метод вернет 6 (с этой позиции начинается второе слово 'учу' в строке):

var str = 'Я учу учу Javascript';
document.write(str.indexOf('учу', 5));

Результат выполнения кода:

6

Пример

В данном примере метод вернет -1, так как подстроки 'PHP' в строке 'Я учу Javascript' нету:

var str = 'Я учу Javascript';
document.write(str.indexOf('PHP', 5));

Результат выполнения кода:

-1

Пример

В данном примере метод вернет -1, так как он чувствителен к регистру (Javascript не равно JaVaScrIpt):

var str = 'Я учу Javascript';
document.write(str.indexOf('JaVaScrIpt'));

Результат выполнения кода:

-1

Пример

В данном примере метод вернет -1, так как после выбранной позиции совпадения отсутствуют:

var str = 'Я учу Javascript';
document.write(str.indexOf('учу', 8));

Результат выполнения кода:

-1