Результат
У этой страницы вообще нет серверной части. Вставленная таблица разбирается кодом JavaScript внутри вашего же браузера, график рисуется на элементе canvas на вашей машине, файл экспорта собирается локально. Ничего не загружается, не хранится и не пишется ни в какие логи. После загрузки страницы можно отключить сеть — всё продолжит работать, и это самый простой способ проверить обещание самостоятельно.
Факты и границы применимости
| Алфавит | a-z, A-Z — 26 букв английского алфавита в обоих регистрах |
|---|---|
| Диапазон Юникода | U+0041–U+005A и U+0061–U+007A — базовая латиница ASCII |
| Что не считается буквой | Цифры, пробелы, знаки препинания, кириллица, эмодзи |
| Регистр | Заглавные и строчные буквы считаются одинаково, регистр не влияет на счёт |
| Буквы с диакритикой | é, ñ, ü и другие расширенные латинские буквы вне диапазона a-z/A-Z не считаются |
| Скорость | Пересчёт на каждое нажатие клавиши, без задержки и без отправки текста на сервер |
Когда этот метод вводит в заблуждение
- Утилита ищет только базовые латинские буквы по шаблону [a-zA-Z]. Буквы расширенной латиницы с диакритическими знаками — французские é, è, ç, немецкие ä, ö, ü, ß, испанские ñ, á — не попадают в счёт, хотя визуально выглядят как обычные латинские буквы.
- Смешанные слова считаются частично: в «email-адрес» будут посчитаны только буквы «email», а «адрес» уйдёт в кириллическую часть, дефис — в «остальные символы».
- Аббревиатуры и коды на латинице (URL, названия брендов, HTML-теги внутри текста) считаются как обычные буквы наравне со словами естественного языка — утилита не различает контекст.
- Римские числительные (IV, XX, MCM) на самом деле состоят из латинских букв I, V, X, L, C, D, M, поэтому утилита честно засчитывает их как буквы — она не умеет отличать римскую цифру от обычного слова, потому что для регулярного выражения это одни и те же символы.
Как это считается
Текст сравнивается посимвольно с регулярным выражением [a-zA-Z], которое перечисляет 26 букв английского алфавита в нижнем и верхнем регистре. Каждое совпадение увеличивает счётчик на единицу.
Доля латиницы получается делением числа латинских букв на общую длину текста (все символы, включая пробелы и пунктуацию) и умножением на 100.
«Остальные символы» — это всё, что не попало под шаблон латиницы: цифры, знаки препинания, пробелы, кириллица, буквы других алфавитов и эмодзи. Считается как разность общей длины текста и числа латинских букв.
Подсчёт идёт по code point JavaScript-строки, поэтому буквы с диакритикой вне базового диапазона ASCII (например, é как один составной code point) не совпадают с шаблоном [a-zA-Z] и попадают в «остальные символы».
Вопросы и ответы
Считаются ли буквы с диакритикой вроде é или ü?
Нет, шаблон [a-zA-Z] покрывает только базовую латиницу ASCII. Буквы с диакритическими знаками в счёт не попадают и учитываются как «остальные символы».
Учитывается ли регистр буквы?
Нет, заглавные и строчные буквы считаются одинаково — «A» и «a» дают одинаковый вклад в счётчик.
Подходит ли утилита для подсчёта латиницы в смешанном русско-английском тексте?
Да, это одно из основных применений — утилита отделяет латинские буквы от кириллицы, цифр и пунктуации, что удобно для оценки доли англоязычных вставок.
Что попадает в «остальные символы»?
Всё, что не является буквой латинского алфавита: цифры, пробелы, знаки препинания, кириллица, буквы с диакритикой и эмодзи.
Мой текст куда-то отправляется?
Нет. Весь подсчёт выполняется в вашем браузере, текст никуда не передаётся.