Методы ltrim, rtrim, trim

В библиотеке Validator.js метод ltrim предназначен для удаления пробельных символов или заданных символов в начале строки. Он используется при предварительной нормализации строковых данных перед валидацией, когда важно устранить «грязные» данные, поступающие с внешних источников.

Сигнатура:

ltrim(str, [chars])

Параметры:

  • str — строка, подлежащая обработке;
  • chars — необязательный параметр, строка символов, которые необходимо удалить слева. По умолчанию удаляются пробелы, табуляции и переносы строк.

Поведение метода

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

Примеры использования

Удаление пробелов:

validator.ltrim('   hello world')

Результат:

'hello world'

Удаление заданных символов:

validator.ltrim('###hello', '#')

Результат:

'hello'

Особенности

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

rtrim

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

Сигнатура:

rtrim(str, [chars])

Параметры:

  • str — исходная строка;
  • chars — набор символов для удаления справа (опционально).

Поведение метода

Алгоритм проходит строку с конца и удаляет все символы, соответствующие набору chars. При отсутствии параметра используются стандартные пробельные символы.

Примеры использования

Удаление пробелов справа:

validator.rtrim('hello world   ')

Результат:

'hello world'

Удаление пользовательских символов:

validator.rtrim('world!!!', '!')

Результат:

'world'

Особенности

  • Работает только с правой частью строки.
  • Не влияет на содержимое строки слева.
  • Может применяться для очистки пользовательского ввода, например, комментариев или тегов.

trim

Метод trim объединяет поведение ltrim и rtrim, удаляя лишние символы одновременно с начала и конца строки.

Сигнатура:

trim(str, [chars])

Параметры:

  • str — строка для обработки;
  • chars — необязательный набор символов для удаления.

Поведение метода

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

Примеры использования

Удаление пробелов по краям:

validator.trim('   hello world   ')

Результат:

'hello world'

Удаление специальных символов:

validator.trim('***hello world***', '*')

Результат:

'hello world'

Внутренняя логика

Фактически trim эквивалентен последовательному вызову:

validator.rtrim(validator.ltrim(str, chars), chars)

Особенности применения

  • Используется для полной нормализации строк перед проверками (например, email, username, URL).
  • Удобен при обработке пользовательских форм, где возможны случайные пробелы или символы-разделители.
  • Не модифицирует содержимое строки между границами, удаляя только крайние символы.