Далее на странице...
Рассмотрим следующие методы, которые используются при работе со строковыми объектами в javascript - indexOf и lastIndexOf.
Методы indexOf и lastIndexOf предназначены для поиска в строке совпадений с каким-либо образцом.
Для примера возьмем произвольную строку:
<script type="text/javascript">
var anyString = "Кто сказал Мяу-Мяу";
</script>
Допустим, что перед нами стоит задача найти совпадение в стоке. Нужно выяснить - есть ли в этой строке слово «Мяу».
Метод indexOf в JavaScript - Поиск совпадения с начала строки
Для поиска совпадения с начала строки предназначен метод indexOf(). При этом в качестве его параметра следует указать искомое слово.
Метод indexOf() возвращает результат, который для наглядности можно вывести на экран. Далее смотрим пример.
<script type="text/javascript">
var anyString = "Кто сказал Мяу-Мяу";
document.write(anyString.indexOf("Мяу")); /* Ищем совпадение, начиная с начала строки */
</script>
В результате исполнения кода мы видим число 11. Что это значит? Это значит, что буква М слова «Мяу», которое мы ищем в общей фразе (строке) имеет порядковый номер 11.
Таким образом, метод indexOf возвращает позицию, с которой начинается совпадение. При этом отсчет ведется с 0.
Если же пробовать искать несуществующее слово (набор символов) в строке, то метод indexOf в качестве результата своей работы вернет -1.
<script type="text/javascript">
var anyString = "Кто сказал Мяу-Мяу";
document.write(anyString.indexOf("Гав")); /* Ищем совпадение, начиная с начала строки */
</script>
Метод lastIndexOf в JavaScript - Поиск совпадения с конца строки
Обратите внимание: в рассмотренном ранее примере два слова «Мяу». В то время как метод indexOf выдал только одну позицию - 11. То есть ту, которая ближе к началу строки.
Здесь мы подошли к методу lastIndexOf. Для чего нужен он?
Метод lastIndexOf ищет совпадение с конца строки.
<script type="text/javascript">
var anyString = "Кто сказал Мяу-Мяу";
document.write(anyString.lastIndexOf("Мяу")); /* Ищем совпадение, начиная с конца строки */
</script>
Теперь в результате исполнения кода мы видим число 15. Это говорит о том, что в строке есть ещё одно слово "Мяу", которое уже ближе к концу строки и которое начинается с позиции номер 15 (начало совпадения - это 15-ый символ строки).
Обратите внимание: метод lastindexOf ищет в строке совпадение с каким-либо образцом, начиная с ее конца. Но отсчет позиции ведется все также с начала строки.
Метод lastIndexOf также как и метод indexOf возвращает -1, если совпадений в строке не найдено.