Обрізання рядків JavaScript за допомогою методу trim()

419

Від автора: текст, вбитий користувачем у форму, часто містить зайві прогалини, що з’являються з-за випадкових натискань клавіші всередині текстового поля вводу. Майже у всіх випадках адміністраторам сайту необхідно видаляти зайві прогалини: було б дивно, якби користувачеві відмовили в авторизації з-за того, що в його автора є невидимий пробіл.

Видалення пробілів (обрізання рядка в JavaScript) – прогалини, таби, нерозривні пробіли, повернення каретки і символ переходу на новий рядок – займається метод trim(). Є змінна username:

var username = “dstorey “;

Якщо обрізати цю рядок і вивести на консоль, то ми отримаємо:

console.log(username.trim());
> “dstorey”

Зверніть увагу на те, що метод trim() не чіпає пробіли всередині рядка, а видаляє лише зайві пробіли з початку і кінця рядка. Набагато частіше результат методу trim() заноситься у змінну. Є текстовий инпут з id атрибутом name зі значенням username:

var username = document.getElementById(“username”).value.trim();

Розробники дуже часто говорять «обрізати» в сенсі видалити будь-який символ: приміром, «обрізати розширення файлу» або «обрізати перший символ». Чисто технічно, метод trim() підходить тільки для видалення пробілів, для видалення інших символів використовувати інші методи (replace() та slice відповідно).

Підтримка і альтернативи

Метод trim() є функціональним еквівалентом JQuery методу $.trim(str). Нативний метод підтримується у всіх сучасних браузерах, включаючи IE9+ і Safari 5. Рекомендується використовувати саме його, якщо, звичайно, вам не потрібно підтримувати зовсім давні браузери.