пятница, 31 июля 2009 г.

Аналог PHP функции trim() на JavaScript

В php существует такая функция как trim(), обрезающая пробельные символы в начале или конце передаваемой строки. Её обычно используют для того чтобы отсеять пустые, не информативные, символы. Я trim часто использую для того чтобы провалидировать данные, введенные пользователем. К примеру, введенный текст должен быть не пустым, и не иметь просто набор пробельных символов, не отображаемых при выводе.

Данные часто приходится валидировать и на стороне клиента, если у вас есть поле required. Просто проверять по длинне строки - некорректно. В проверке должны отсеиваться все пробельные символы в начале и в конце строки, а уже потом проверяться его длинна. К несчастью, аналога функции trim() в JS нет, но зато есть такая мощная штука, как регулярные выражения.

Функция trim() в JavaScript будет выглядеть следующим образом:

replace(/^\s+|\s+$/g, '')

Тогда валидация с правилом required на поле с именем text формы post_form может принять следующий вид:

if ( $("#post_form [name=text]").val().replace(/^\s+|\s+$/g, '').length < 1 ) {
  //show error message;
}

Комментариев нет:

Отправить комментарий

Рекоммендую

Попробуйте надёжный хостинг от Scala Hosting