От автора: текст, вбитый пользователем в форму, зачастую содержит лишние пробелы, который появляются из-за случайных нажатий клавиши внутри текстового поля input. Почти во всех случаях администраторам сайта необходимо удалять эти лишние пробелы: было бы странно, если бы пользователю отказали в авторизации из-за того, что в его логине есть невидимый пробел.
Удалением пробелов (обрезание строки в JavaScript) – пробелы, табы, неразрывные пробелы, возврат каретки и символ перевода на новую строку – занимается метод trim(). Есть переменная username:
1 |
var username = "dstorey "; |
Если обрезать эту строку и вывести в консоль, то мы получим:
1 2 |
console.log(username.trim()); > "dstorey" |
Обратите внимание на то, что метод trim() не трогает пробелы внутри строки, а удаляет только лишь лишние пробелы с начала и конца строки. Намного чаще результат метода trim() заносится в переменную. Есть текстовый инпут с id и атрибутом name со значением username:
1 |
var username = document.getElementById("username").value.trim(); |
Разработчики очень часто говорят «обрезать» в смысле удалить любой символ: к примеру, «обрезать расширение файла» или «обрезать первый символ». Чисто технически, метод trim() подходит только для удаления пробелов, для удаления других символов используйте другие методы (replace() и slice соответственно).
Поддержка и альтернативы
Метод trim() является функциональным эквивалентом JQuery метода $.trim(str). Нативный метод поддерживается во всех современных браузерах, включая IE9+ и Safari 5. Рекомендуется использовать именно его, если, конечно, вам не нужно поддерживать совсем древние браузеры.
Источник: //thenewcode.com/
Редакция: Команда webformyself.