String.indexOf()

indexOf() - пошук символа у рядку.

Синтаксис:

str.indexOf( searchValue [, fromIndex]);

Параметри:

searchValue - символ який потрібно знайти.

fromIndex - не обов'язковий параметр, позиція в рядку з якої потрібно починати пошук. По замовчуванню дорівнює 0.

Опис:

indexOf метод об'єкту String який повертає позицію символу в рядку, якщо символ не знайдено повертає -1. Цей метод є залежний до регістру символу, тобто символ "а" і "А" це різні символи. Для пошуку без урахування регістру використовуйте search().

Приклад:

var x="абвгд".indexOf("б"); //x=1 x="абвгд".indexOf("е"); //x= -1 так як "е" не знайдено var s="пошук у рядку"; x=s.indexOf("у",4); //x=6 так як починаємо пошук з 4 позиції x=s.indexOf("ук"); //x=3

Використання умовного оператора:

var s="Привіт!"; if(s.indexOf("а")>-1) alert('символ "а" знайдено'); else alert('символ "а" не знайдено'); var s='JavaScript - мова програмування.', w='i'; var p = s.indexOf(w); if(p>-1)alert('Символ "'+w+'" знайдено за індексом: '+p); else alert('Символ "'+w+'" не знайдено');

Функція яка підраховує кількість вказаних символів у рядку, з врахування регістру:

function wordcount(text,word) { //якщо text або word не вказані повертаємо 0 if(text==undefined || word==undefined)return 0; //для надійності перетворюємо в тип String text=text.toString(); word=word.toString(); var count=0, p=text.indexOf(word); while(p>-1) { count++; p=text.indexOf(word,p+1); } return count; } //визиваємо функцію alert(wordcount("Програмування на JavaScript","а"));