Trim: примеры (JAVASCRIPT)

Функция trim в JavaScript: полное руководство с примерами
Раздел: Строки, Форматирование
trim: string

Описание функции trim() в JavaScript

Метод trim() предназначен для удаления пробельных символов с обоих концов строки. К пробельным символам относятся обычный пробел, табуляция (\t), символ новой строки (\n), возврата каретки (\r) и другие.

Функция не изменяет исходную строку, а возвращает новую строку, из которой удалены пробельные символы в начале и конце. Она не принимает аргументов.

Возвращаемое значение — строка, представляющая исходную строку без пробельных символов в начале и конце. Если в строке нет пробельных символов в начале или конце, возвращается исходная строка.

Примеры использования метода trim()

Базовый пример удаления пробелов:

let str = '   Пример строки   ';
console.log(str.trim());
'Пример строки'

Удаление различных пробельных символов:

let str2 = '\n\tСтрока с символами\r\n';
console.log(str2.trim());
'Строка с символами'

Строка без пробелов в начале и конце:

let str3 = 'Уже обрезанная';
console.log(str3.trim());
'Уже обрезанная'

Похожие методы в JavaScript

Для удаления пробелов только с начала или конца строки используются методы trimStart() и trimEnd(). Они работают аналогично trim(), но воздействуют только на одну сторону строки.

Альтернативой может быть использование регулярных выражений с методом replace(), что дает больше контроля над удаляемыми символами.

Метод trimStart() предпочтителен при обработке пользовательского ввода, где важно сохранить завершающие пробелы. Метод trimEnd() используется, когда нужно сохранить начальные пробелы, например, при форматировании.

Типичные ошибки при использовании trim()

Ожидание, что функция изменит исходную строку. В JavaScript строки неизменяемы.

let original = '   текст   ';
original.trim();
console.log(original);
'   текст   '

Попытка использовать trim() для значений, не являющихся строками. Для других типов данных необходимо предварительное преобразование.

let value = null;
console.log(value.trim());
TypeError: Cannot read property 'trim' of null

Ошибочное предположение, что trim() удаляет пробелы внутри строки.

let str = 'много   пробелов';
console.log(str.trim());
'много   пробелов'

Изменения в последних версиях JavaScript

Метод trim() был стандартизирован в ECMAScript 5 (ES5). В более поздних версиях стандарта появились методы trimStart() и trimEnd() (также известные как trimLeft() и trimRight()), которые позволяют удалять пробельные символы только с одной стороны строки.

Современные браузеры и среды выполнения JavaScript поддерживают все три метода.

Расширенные примеры применения trim()

Обработка пользовательского ввода в форме:

Пример javascript
let userInput = '  user@example.com  ';
let cleanedInput = userInput.trim();
console.log(cleanedInput);
'user@example.com'

Использование в цепочке методов для обработки строки:

Пример javascript
let text = '  JavaScript trim  ';
let result = text.trim().toUpperCase();
console.log(result);
'JAVASCRIPT TRIM'

Применение к элементам массива с помощью map():

Пример javascript
let arr = ['  один ', 'два  ', '  три  '];
let trimmedArr = arr.map(item => item.trim());
console.log(trimmedArr);
['один', 'два', 'три']

Проверка на пустую строку после обрезки:

Пример javascript
let input = '   ';
if (input.trim() === '') {
    console.log('Строка пуста или содержит только пробелы');
}
'Строка пуста или содержит только пробелы'

Обрезка строк в объекте:

Пример javascript
let obj = { name: '  Иван  ', city: 'Москва  ' };
for (let key in obj) {
    if (typeof obj[key] === 'string') {
        obj[key] = obj[key].trim();
    }
}
console.log(obj);
{ name: 'Иван', city: 'Москва' }

Аналоги функции в других языках

В Python для аналогичной операции используется метод strip():

text = '   пример   '
result = text.strip()
print(result)
'пример'

В PHP существует функция trim(), которая может принимать второй аргумент для указания удаляемых символов:

$text = "\tПример строки\n";
echo trim($text);
'Пример строки'

В MySQL используется функция TRIM(), которая также поддерживает указание удаляемых символов и стороны обрезки:

SELECT TRIM('   текст   ');
'текст'

В языке C аналогичная функциональность требует написания собственной функции или использования библиотечных функций обработки строк.

JS trim function comments

En
Trim Removes whitespace from both ends of a string