Результат
Все вычисления выполняются локально в браузере: разбор, график, экспорт. Если отключите сеть, страница продолжит работать.
Факты и границы применимости
| ВЕРХНИЙ РЕГИСТР | text.toUpperCase() — все буквы становятся заглавными |
|---|---|
| нижний регистр | text.toLowerCase() — все буквы становятся строчными |
| Title Case | Первая буква каждого слова — заглавная, остальные буквы слова — строчные |
| Как в предложении | Весь текст сначала переводится в нижний регистр, затем заглавной становится первая буква текста и буква после каждых «. », «! », «? » |
| иНВЕРСИЯ рЕГИСТРА | Каждая заглавная буква становится строчной, и наоборот, посимвольно |
| Счётчик изменений | Число позиций, где символ результата отличается от символа исходного текста |
Когда этот метод вводит в заблуждение
- toUpperCase() и toLowerCase() в редких случаях меняют длину текста: например, немецкая «ß» при переводе в верхний регистр браузером превращается в «SS» — два символа вместо одного. Счётчик изменённых символов в таком случае считает и «лишний» символ как изменение.
- Title Case — упрощённая версия: словом считается любая последовательность букв, поэтому дефис в «интернет-магазин» даст «Интернет-Магазин» с заглавной после дефиса, а апостроф или подчёркивание внутри слова тоже разобьют его на две части с двумя заглавными буквами.
- Режим «Как в предложении» не умеет отличать конец предложения от сокращения или десятичной дроби — после «т.д. далее» или «3.14 попугая» буква тоже станет заглавной, хотя предложение там не заканчивалось.
- Инверсия регистра применяется только к буквам, у которых вообще есть понятие «заглавная/строчная» — цифры, знаки препинания, эмодзи и иероглифы остаются без изменений и не считаются «изменёнными» символами.
Как это считается
ВЕРХНИЙ и нижний регистр — это прямой вызов стандартных методов JavaScript toUpperCase() и toLowerCase() над всей строкой целиком; они умеют работать и с кириллицей, и с латиницей.
Title Case ищет в тексте все последовательности букв («слова» в широком смысле) и заменяет каждую на вариант с заглавной первой буквой и строчными остальными: word.charAt(0).toUpperCase() + word.slice(1).toLowerCase().
Режим предложения сначала полностью переводит текст в нижний регистр, затем делает заглавной первую букву всего текста, а после — букву, следующую за точкой, восклицательным или вопросительным знаком с одним или несколькими пробелами после него.
Инверсия проходит по тексту посимвольно: если toUpperCase() символа отличается от него самого, символ — заглавный, и он переводится в строчный; если строчный вариант отличается от самого символа — он переводится в заглавный; любые другие символы остаются как есть. Счётчик изменений сравнивает исходный и результирующий текст посимвольно и считает несовпадения.
Вопросы и ответы
Чем Title Case отличается от простого капслока на каждом слове?
Title Case не просто делает первую букву слова заглавной — он ещё и приводит остальные буквы слова к строчным. Если исходное слово было написано ВСЕМИ ЗАГЛАВНЫМИ, после Title Case оно станет «Обычным Словом С Большой Буквы».
Почему после дефиса тоже появляется заглавная буква в Title Case?
Инструмент считает словом любую непрерывную последовательность букв. Дефис прерывает такую последовательность, поэтому «интернет-магазин» превращается в «Интернет-Магазин» — обе части дефисного слова получают заглавную букву.
Что считает счётчик «символов изменено»?
Он сравнивает исходный и результирующий текст посимвольно и считает позиции, где символы не совпадают. Если у вас в тексте уже был верхний регистр и вы выбрали режим «ВЕРХНИЙ РЕГИСТР», счётчик покажет 0 — менять нечего.
Можно ли обратно превратить иНВЕРСИЮ рЕГИСТРА в исходный текст?
Да — если применить инверсию регистра ещё раз к результату, буквы вернутся к исходному состоянию: инверсия — это операция, обратная самой себе.
Текст куда-то отправляется при обработке?
Нет, весь пересчёт происходит прямо в вашем браузере на каждое изменение поля, текст никуда не передаётся.