Устранение пробелов в начале или конце строки в JavaScript выполняется просто и быстро. Для обрезки пробелов с начала строки используйте функцию trimStart()
, с конца строки — trimEnd()
. Чтобы удалить пробелы и с начала, и с конца одновременно, примените trim()
.
const string = " hi "; string.trimStart(); // Результат: "hi "
string.trimEnd(); // Результат: " hi"
string.trim(); // Результат: "hi"
Возвращаемое значение
Методы, такие как trim()
, trimStart()
, и trimEnd()
в JavaScript возвращают новую строку, не изменяя исходную. Например:
const string = " hi ";
string.trimStart(); // "hi "
string.trimEnd(); // " hi"
string.trim(); // "hi"
console.log(string); // " hi "
Пробельные символы
Эти методы удаляют различные типы пробельных символов, включая:
- Пробел
- Знак табуляции
- Неразрывный пробел
- Символы разрыва строки
Символы разрыва строки
Примеры работы метода trim()
с символами разрыва строки:
'hi \n'.trim(); // "hi"
'hi \t'.trim(); // "hi"
'hi \r'.trim(); // "hi"
Многострочные конструкции
В многострочных шаблонных литералах trim()
также эффективно удаляет лишние пробелы:
const multiLine = `
hi
`;
multiLine.trim(); // "hi"
Словосочетания
Trim()
не влияет на пробелы между словами:
const multiLine = `
hi
there
`;
multiLine.trim();
/*
вернет:
"hi
there"
*/
Псевдонимы
trimStart()
и trimEnd()
также известны как trimLeft()
и trimRight()
соответственно, но использование trimStart()
и trimEnd()
предпочтительнее для современного кода.
Применение
trim()
часто используется для очистки полей ввода:
<input type="text" id="search">
<script>
const inputValue = document.getElementById('search').value.trim();
</script>
Браузеры
Все современные браузеры поддерживают эти методы, за исключением Internet Explorer.
Альтернатива
Можно использовать регулярное выражение для удаления всех пробелов:
const string = ' hi ';
string.replace(/ /g, ''); // "hi"