«Единственный способ творить великие дела – это любить то, что ты делаешь»
JavaScript
site.komp36.ru Создание сайтов. Твой сайт фотографа Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Продающий лендинг «Установка и продажа окон» Установка и продажа окон, установка дверей, перегородок. Одностраничный продающий сайт. Заявки прямо с сайта
site.komp36.ru Универсальный лендинг. Любая тема сайта - 4900 руб. Лендинг адаптируется под любую тему: ремонт, отделка, продажа окон, дверей, лестниц, мебели и многое другое
site.komp36.ru Создание сайтов. Сайт сервисного центра. Сайт компании. Новости и отзывы. Несколько прайс-листов – под каждый отдельная страница. Возможность размещения статей


Игра «Морской Бой» на JavaScript: Простая Игра и Игра для Двоих



Рассмотрим работу двух методов объекта String - это методы charAt и charCodeAt.

Первый позволяет узнать, какой символ содержит строка под определенным индексом.

Второй позволяет узнать, какой код имеет символ строки под определенным индексом.



Метод charAt - Возвращаем символ строки

Метод charAt возвращает символ строки по указанному индексу.

Напомним: каждый элемент (символ) строки имеет порядковый номер - индекс. При этом отсчет ведется с 0.

Рассмотрим пример с произвольным строковым значением переменной (или с произвольным объектом String).

Фрагмент кода

<script type="text/javascript">

var name = "Воронеж";

document.write(name.charAt(2)); /* Выводим на экран символ строки под индексом 2 */

</script>

Результат

Итак, в этом примере мы вывели на экран 3-й символ строки - букву «р», имеющую индекс 2 (отсчет символов ведется с 0).

Метод charCodeAt - Возвращаем КОД символа строки

Метод charCodeAt возвращает код символа строки по указанному индексу.

В JavaScript каждый символ имеет код, который может быть использован в некоторых случаях. Далее мы проработаем этот момент.

А сейчас вернемся к предыдущему примеру и посмотрим, как работает метод charCodeAt.

Фрагмент кода

<script type="text/javascript">

var name = "Воронеж";

document.write(name.charCodeAt (2)); /* Выводим на экран КОД символа строки под индексом 2 */

</script>

Результат

При помощи метода charCodeAt мы вывели на экран код 3-го символа строки (имеющего индекс 2), то есть код буквы «р» - это число «1088».

Юникод U+ и HTML-код символов - Коды букв русского алфавита

Наверное, некоторым из Вас не ясно, о каком коде шла речь, когда мы рассматривали метод charCodeAt?

Любой символ: знаки препинания, заглавные и строчные русские и латинские буквы и т.д. - все они имеют свой код в кодировке Unicode, а также HTML-код.

Для примера вернемся к букве «р» из предыдущего примера.

Она имеет Юникод U+0440 и HTML-код &#1088;

Так вот JavaScript в результате работы метода charCodeAt, выдает нам именно цифровую часть HTML-кода указанного символа.

Теперь, при помощи метода charCodeAt выясним, какие коды имеют русские заглавные и строчные буквы?

Фрагмент кода

<script type="text/javascript">

var letter_UP = "АЯ";
var letter_DOWN = "ая";

var first_letter_UP = letter_UP.charCodeAt(0); /* Заносим в переменную код заглавной буквы А */
var last_letter_UP = letter_UP.charCodeAt(1); /* Заносим в переменную код заглавной буквы Я */
document.write("Русские ЗАГЛАВНЫЕ буквы имеет код, начиная с " + first_letter_UP + " и заканчивая " + last_letter_UP);

document.write("<p>");

var first_letter_DOWN = letter_DOWN.charCodeAt(0); /* Заносим в переменную код буквы а */
var last_letter_DOWN = letter_DOWN.charCodeAt(1); /* Заносим в переменную код буквы я */
document.write("Русские строчные буквы имеет код, начиная с " + first_letter_DOWN + " и заканчивая " + last_letter_DOWN);

document.write("<p>");

document.write("Таким образом, коды ВСЕХ русских букв находятся в диапазоне от <strong> " + first_letter_UP + " </strong> и до <strong> " + last_letter_DOWN + " </strong> ВКЛЮЧИТЕЛЬНО");

</script>

Результат

Методы charAt и charCodeAt - Рассмотрим реальный пример

Рассмотрим реальный пример использования методов charAt и charCodeAt. Необходимо написать код, который будет делать следующее:

1. Нужно попросить у пользователя ввести Имя русскими буквами (любыми - строчными или заглавными).

2. При этом проверить, нет ли в имени помимо русских букв других символов.

3. Затем при написании имени, нужно будет пробовать вводить одну/несколько латинских букв вместо русских.

Для решения этой задачи нужно будет вспомнить тему циклов и просмотреть заметку логические операторы И и ИЛИ в Javascript. Также нужен будет метод prompt объекта Window.

Для составления условия нужен будет диапазон кодов для всех букв русского алфавита (заглавных и строчных). См. предыдущий пример.

Фрагмент кода

<script type="text/javascript">

var name = "АнтоQ"; /* Делаем намеренно в Имени ошибку - это буква Q */

document.write("Вы ввели имя <strong> , " + name + " </strong> <p>");


/* Составляем цикл */

var i = 0; /* Создаём переменную i - это счётчик. i = 0, так как 0 - это индекс первой буквы имени */

while (i < name.length) /* Условие - пока i меньше длины имени */

/* Выполняем действие */

{

if(name.charCodeAt(i) < 1040 || name.charCodeAt(i) > 1103) /* Если КОД текущего символа в имени не попадает в диапазон кодов для букв русского алфавита, то выводим об этом сообщение... */

{
document.write("В имени присутствует недопустимый символ <strong>" + name.charAt(i) + "</strong>. Используйте только русские буквы!<p>"); /* Выводим недопустимый символ */
}


i++; /* Прибавляем к счетчику единицу */

}

</script>

Результат

Итак, в этом примере при помощи цикла while, условия ИЛИ и метода charCodeAt мы поочереди проверили каждую букву в имени на предмет попадания ее КОДа в диапазон кодов для всех букв русского алфавита.

А при помощи метода charAt - вывели на экран недопустимый символ.

Эту же задачу можно реализовать при помощи цикла for. Смотрите пример ниже.

Фрагмент кода

<script type="text/javascript">

var name = "АнтоQ";

document.write("Вы ввели имя <strong> , " + name + " </strong> <p>");

for (var i = 0; i < name.length; i++) /* Используем цикл for */

if(name.charCodeAt(i) < 1040 || name.charCodeAt(i) > 1103)

{
document.write("В имени присутствует недопустимый символ <strong>" + name.charAt(i) + "</strong>. Используйте только русские буквы!<p>");
}

</script>

Результат

И, наконец, добавим метод prompt. Попробуйте в результате самостоятельно ввести любое имя, добавив в него несколько латинских букв.

Фрагмент кода

<script type="text/javascript">

var name = prompt("Введите Ваше имя"); /* Создаем поле для ввода Имени */

document.write("Вы ввели имя <strong> , " + name + " </strong> <p>");

for (var i = 0; i < name.length; i++)

if(name.charCodeAt(i) < 1040 || name.charCodeAt(i) > 1103)

{
document.write("В имени присутствует недопустимый символ <strong>" + name.charAt(i) + "</strong>. Используйте только русские буквы!<p>");
}

</script>

Результат

Читайте также...

site.komp36.ruТвой сайт фотографа. Создание сайтов Что есть на сайте? Несколько фото галерей: свадебная, постановочная съемка, love story, детские фото. Договор на фотосъемку, прайс-лист.
site.komp36.ru Акция Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Акция Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта

Отзывы и комментарии:

Комментариев нет...

Оставить отзыв:

Ваше Имя:

Текст комментария:

Ответьте на вопрос:

Сколько дней в Високосном году?


Объект String
Методы charAt и charCodeAt - Возвращаем символ и КОД символа
10424
Свойство length - Число символов в строке
3075
Практическая задача - Свойство length
1455
Регистр строки - toUpperCase и toLowerCase
24510
Практическая задача - Методы toUpperCase и toLowerCase
1593
Поиск совпадений в строке - Методы indexOf и lastIndexOf
3035
Практическая задача - Методы indexOf и lastIndexOf
1541
Метод slice - Копирование из строки
2870
Практическая задача - Метод slice
1605
Практическая задача - Методы charAt и charCodeAt
2894
Метод search - Регулярные выражения
2280
Регулярные выражения - Начало и Конец строки
2316
Практическая задача - Регулярные выражения
1442
Метод match - Возвращает массив из совпадений - Глобальный поиск g
3278
Поиск сайта в строке
1910
Практическая задача с кредитной картой
2271
Метод replace - Замена совпадений
4577
Практическая задача - Метод replace
2118
Метод trim в - Удаление пробелов в начале и конце строки
6183
Метод substring - Извлекает часть строки
1128
Метод split в JavaScript - Разделитель строки
2120
Тематические публикации
site.komp36.ru Как начать свое дело? Свой сайт «Укладка плитки» 9 000 руб. Лендинг адаптируется под любой вид отделочных работ, продажу товаров или услуг. Сайт поможет найти новых клиентов
site.komp36.ru Продающий лендинг «Установка и продажа окон» 9 000 руб. Одностраничный продающий сайт. Установка и продажа окон, установка дверей, перегородок. Заявки прямо с сайта
Популярные заметки
Последние заметки