Каков наилучший способ проверки пустой строки с помощью jquery-out-of-the-box, т.е. без плагинов? Я попробовал это .
Но это не сработало, по крайней мере, из коробки. Было бы неплохо использовать что-то встроенное.
Я не хотел бы повторяться
if (a == null || a=='')
везде, если некоторые if (isempty(a))
будут доступны.
javascript
jquery
Мартин
источник
источник
Ответы:
Чтобы игнорировать пробелы для строк:
Если вам нужна устаревшая поддержка (IE8-) для
trim()
использования$.trim
или полизаполнения .источник
a
"" или любое другое ложное значение (null, false, undefined, 0, NaN).if (!$.trim(a))
if (!a.trim())
немного ли опасно? Что еслиa
не определено или равно нулю?Ссылка, которую вы дали, похоже, пытается что-то отличное от теста, который вы пытаетесь избежать повторения.
проверяет, является ли строка пустой или нулевой. Статья, которую вы связали с тестами, если строка полностью состоит из пробелов (или пуста).
Тест, который вы описали, можно заменить на:
Потому что в javascript, пустой строке и null, оба оцениваются как false в логическом контексте.
источник
if(!a)
Разве это не удастся для строки, состоящей, скажем, из 4 пробелов? ``0
как пустая строка, но не так"0"
. Я полагаю, это то, что вы имели в виду? Вполне возможно, что это используется в ситуации, когда вы знаете, чтоa
это либо строка, либо ноль, но да. Что-то, о чем нужно знать.Основываясь на ответе Дэвида, я лично хотел бы сначала проверить данный объект, если это вообще строка. В противном случае вызов
.trim()
несуществующего объекта вызовет исключение:Использование:
источник
Проверьте, являются ли данные пустой строкой (и игнорируйте пробелы) с помощью jQuery:
источник
Для проверки всех «пустых мест», таких как null, undefined, '', '', {}, [] .
Варианты использования и результаты.
источник
и
если вы хотите принять ноль, но отклонить пустой
РЕДАКТИРОВАТЬ: woops, забыл ваше состояние, если оно пустое
источник
Попробуйте выполнить это в консоли браузера или в repl node.js.
Поэтому для теста будет достаточно простой разветвляющейся конструкции.
источник
Поскольку вы также можете вводить числа и строки фиксированного типа, ответ должен быть:
источник
return !!$.trim(value);
Попробуй это
источник
источник
null
то неa.trim()
получится. Это плохой порядок, чтобы проверить вещи. И если вы измените порядок, ваш ответ не даст ничего, что не было предложено ранее.