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","а"));