Изменение регистра строки в JavaScript

У букв есть регистр: верхний и нижний. Например, ‘A’ и ‘a’ - это разные символы.

В JavaScript строку можно привести к верхнему или нижнему регистру с помощью методов toUpperCase() и toLowerCase().

let message = 'Привет';

console.log(message.toUpperCase());
console.log(message.toLowerCase());

Результат:

ПРИВЕТ
привет

Что такое регистр

Регистр показывает, как написана буква: заглавной или строчной.

console.log('JavaScript');
console.log('JAVASCRIPT');
console.log('javascript');

Для человека это почти один и тот же текст, но для JavaScript это разные строки.

console.log('JavaScript' === 'javascript');

Результат:

false

Поэтому перед сравнением или поиском строки часто приводят к одному регистру.

Верхний регистр через toUpperCase()

toUpperCase() возвращает новую строку, в которой буквы переведены в верхний регистр.

let text = 'hello';

console.log(text.toUpperCase());

Результат:

HELLO

Метод работает и с русскими буквами.

let city = 'Москва';

console.log(city.toUpperCase());

Результат:

МОСКВА

Нижний регистр через toLowerCase()

toLowerCase() возвращает новую строку, в которой буквы переведены в нижний регистр.

let text = 'HELLO';

console.log(text.toLowerCase());

Результат:

hello

Пример с русским текстом:

let message = 'ПРИВЕТ';

console.log(message.toLowerCase());

Результат:

привет

Исходная строка не меняется

Строки в JavaScript не меняются напрямую. Методы toUpperCase() и toLowerCase() возвращают новое значение.

let word = 'JavaScript';

word.toUpperCase();

console.log(word);

Результат:

JavaScript

Если нужно сохранить результат, запишите его в переменную.

let word = 'JavaScript';
let upperWord = word.toUpperCase();

console.log(upperWord);

Результат:

JAVASCRIPT

Цифры и знаки

Методы изменения регистра влияют только на буквы. Цифры, пробелы и знаки препинания остаются как были.

let text = 'JS 2026!';

console.log(text.toLowerCase());

Результат:

js 2026!

Сравнение без учета регистра

Частый пример - сравнить две строки так, чтобы регистр не мешал.

let answer = 'javascript';
let userAnswer = 'JavaScript';

console.log(answer === userAnswer);

Результат:

false

Приведем обе строки к нижнему регистру перед сравнением.

let answer = 'javascript';
let userAnswer = 'JavaScript';

console.log(answer.toLowerCase() === userAnswer.toLowerCase());

Результат:

true

Поиск без учета регистра

То же самое удобно использовать при поиске в строке.

let text = 'Я изучаю JavaScript';
let search = 'javascript';

console.log(text.toLowerCase().includes(search.toLowerCase()));

Результат:

true

Мы не изменили исходные строки, а только сравнили их версии в одном регистре.

Итого

Для изменения регистра строки используют два метода.

  • toUpperCase() переводит буквы в верхний регистр.
  • toLowerCase() переводит буквы в нижний регистр.
  • Оба метода возвращают новую строку.
  • Исходная строка не меняется.
  • Цифры, пробелы и знаки препинания остаются без изменений.