Поиск осуществляется слева направо. Метод чувствителен к регистру символов.
"Привет, мир".indexOf("Привет") // вернет 0
"Привет, мир".indexOf("Корова") // вернет -1
"Привет, мир".indexOf("мир") // вернет 8
"Привет, мир".indexOf("Мир") // вернет -1
Пример: с позицией
"Привет, мир".indexOf("Привет", 0) // вернет 0
"Привет, мир".indexOf("р", 1) // вернет 1
"Привет, мир".indexOf("р", 5) // вернет 10
Пустая подстрока находится в любом случае:
Пример: для пустой подстроки
"Привет, мир".indexOf("", 5) // вернет 5
"Привет, мир".indexOf("", 7) // вернет 7
"Привет, мир".indexOf("", 999) // вернет 11 (длину)
Следующий пример демонстрирует использование indexOf
для подсчета количества повторений буквы в строке.
count = 0;
pos = str.indexOf("x");
while ( pos != -1 ) {
count++;
pos = str.indexOf("x",pos+1);
}
А можно сделать indexOf нечувствительным к регистру?
Бобр, если java чувствителен к регистру, то как там может быть хоть что-нибудь, не чувствительное к регистру?
Это не Java
Еще какая ява
не Java а JavaScript это разные языки
Спасибо за подробное описание функции :-)
А что возвращает функция, если подстрока не найдена в строке?
А, прошу прощения, не посмотрел в примеры. Теперь ясно, что -1 ))
Здравствуйте... Вот написал кодик такой:
По сути должен работать так:
Находим все DIV элементы в массив,
Находим DIV, у которого ID начинается на "pa",
Получаем все дочерние элементы,
Получаем первый попавшийся элемент A,
Удаляем его.
Вроде всё правильно... вот только не работает... Вот кусок HTML'a который должен обрабатываться:
Если поставить в строке кода if(elems[i].tagName.indexOf('а') == 0) имя тега а в верхний регистр то всё заработает : ))
Скрипт не работает потому, что у Вас во внутреннем цикле for, как и в основном переенная i стоит. естественно, что переменная i меняет значение для обоих циклов, из-за чего и не работает. поставьте во внутреннем цикле другую переменную, j, к примеру.
pos = str.indexOf("x");
что означает pos ??
Переменная, в которую будет записана позиция символа.
а вы можете подскать как написать html код,в котором определяется является ли введенная строка в текстовое поле числом ,число должно быть >11
Да, могу!
while ( pos != -1 )
объясните пожалуйста что это означает?
Вы пишете :
"Привет, мир".indexOf("", 999) // вернет 11 (длину)
У меня результат почемуто = 0 , а не длине строки
Исползую: Mozilla
Пчему так?
А как можно определить длину этой строки Если это не работает
"Привет, мир".indexOf("", 999) // вернет 11 (длину)
VelMizar, длина строки:
что значит если "str.indexOf is not a function"(консоль ошибок FF)
ввожу всё верно
Всё, понял. Просто искал не в строке, а в числе. Помог toString()
Как я понял, этот метод принимает только строки. Регулярное выражение он не находит, возвращает -1;
а можно ли так искать эл-ты массива?
Можно так:
Парни, возник такой вопрос.
Работаю с cookie и нужно найти начало и конец необходимого элемента.
Пишу например: myCookie.indexOf(5, ';');
Но ничего не получается, или нужно писать не порядковый номер символа, а фразу с которой будет отсчёт?
Почему в описании функции нет Раздела "Возвращаемое значение" ?
"Привет, мир".indexOf("", 999) // вернет 11 (длину)
Результат зависит от реализации JavaScript.
В AfterEffects результат -1
Потрите комментарий пожалуйста, я разобрался.
А с чего в языке реализовано два метода - indexOf и search?
А как тут работает indexOf ? Я не пойму что это за перемен. создается some_word Это массив?? Зачем / Зачем i ???? Объясните пож.
это судя по всему регистронезависимое регулярное выражение
Не могу понять для чего здесь pos+1.
Чтобы не получить опять тоже значение, что и на предыдущей итерации.