Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Алфавит | а-я, А-Я, ё, Ё — 33 буквы русского алфавита в обоих регистрах |
|---|---|
| Диапазон Юникода | U+0400–U+04FF покрывает всю кириллицу, но здесь используется только подмножество для русского алфавита |
| Что не считается буквой | Цифры, пробелы, знаки препинания, латиница, эмодзи |
| Регистр | Заглавные и строчные буквы считаются одинаково, регистр не влияет на счёт |
| Другие кириллические алфавиты | Украинские і, ї, є, ґ и казахские қ, ә, ғ и другие небуквы русского алфавита не считаются |
| Скорость | Пересчёт на каждое нажатие клавиши, без задержки и без отправки текста на сервер |
Когда этот метод вводит в заблуждение
- Утилита ищет только буквы русского алфавита по шаблону [а-яёА-ЯЁ]. Буквы других кириллических языков — украинские і, ї, є, ґ, белорусская ў, казахские қ, ә, ғ, ө, ұ, і, һ, ң — не попадают в счёт, хотя технически относятся к диапазону кириллицы Юникода U+0400–U+04FF.
- Смешанные слова считаются частично: в слове «Wi-Fi-роутер» будут посчитаны только буквы «роутер», а «Wi-Fi» уйдёт в «остальные символы» вместе с дефисами.
- Твёрдый и мягкий знаки (ъ, ь) считаются буквами наравне с остальными — с точки зрения этой утилиты они полноценные символы алфавита, хотя не обозначают отдельного звука.
- Буква ё часто заменяется на е в повседневных текстах. Утилита считает то, что реально написано: если в тексте везде стоит «е» вместо «ё», это не увеличивает и не уменьшает точность подсчёта — считаются буквы как они есть, без нормализации.
Как это считается
Текст сравнивается посимвольно с регулярным выражением [а-яёА-ЯЁ], которое перечисляет ровно 33 буквы русского алфавита в нижнем и верхнем регистре. Каждое совпадение увеличивает счётчик на единицу.
Доля кириллицы получается делением числа кириллических букв на общую длину текста (все символы, включая пробелы и пунктуацию) и умножением на 100.
«Остальные символы» — это всё, что не попало под шаблон кириллицы: цифры, знаки препинания, пробелы, латинские буквы, символы других алфавитов и эмодзи. Считается как разность общей длины текста и числа кириллических букв.
Подсчёт идёт по code point JavaScript-строки, поэтому редкие составные символы (например, буквы с диакритикой, добавленной отдельным объединяющим знаком) могут учитываться не так, как ожидается — для обычного русского текста это не встречается.
Вопросы и ответы
Считаются ли твёрдый и мягкий знаки?
Да, ъ и ь считаются полноценными буквами алфавита, как и все остальные 31 буква.
Почему украинские буквы і и ї не считаются?
Утилита рассчитана именно на русский алфавит из 33 букв. Украинские, белорусские и казахские кириллические буквы, которых нет в русском алфавите, в счёт не попадают, даже если формально относятся к кириллическому диапазону Юникода.
Учитывается ли регистр буквы?
Нет, заглавные и строчные буквы считаются одинаково — «А» и «а» дают одинаковый вклад в счётчик.
Что попадает в «остальные символы»?
Всё, что не является буквой русского алфавита: цифры, пробелы, знаки препинания, латинские буквы, буквы других кириллических языков и эмодзи.
Мой текст куда-то отправляется?
Нет. Весь подсчёт выполняется в вашем браузере, текст никуда не передаётся.