[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: проверка на пустоту
Reh
Добрый день!

Подскажите как правильно проверить переменную на пустоту и существование?
что то все по-разному делают. Или я чего то не пойму.
sergeiss
Проверяем переменную id на существование; если существует, то оцениваем, что у нее есть какая-то разумная величина. Вторую проверку можно сделать по-разному, в зависимости от того, какие там данные предполагаются:

if( typeof(id) != 'undefined' && id != '') {
...
}


_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh
Цитата

if( typeof(id) != 'undefined' && id != '') {
...
}




Для проверки селектов и инпутов на пустоту пойдет?
sergeiss
Ты уж определись сначала: тебе переменную проверить или селект/инпут. И для начала опиши, что за задача.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh
Да нет задачи. Читаю просто в инете как проверить переменную на существование и пустоту, и про инпуты тоже.

Кто то так проверяет:

$("#id").val().length == 0


кто то так

$("#id").val() == ' '


C переменными тоже кто то так

typeof(id) != 'undefined'
а кто то так id != ''

Есть еще разные примеры
Вот я чет и запутался как проверить правильно инпуты и переменные на пустоту и существование
sergeiss
Во втором примере у тебя проверка не на пустоту, а на равенство пробелу wink.gif

Цитата (Reh @ 2.11.2015 - 23:16)
Вот я чет и запутался как проверить правильно инпуты и переменные на пустоту и существование

Отдели мух от котлет... Переменные и инпуты не надо в одну кучу мешать. Да, для инпута надо проверять значение value (возможны разные варианты). У переменной проверяется она сама. Причем также возможны варианты.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh
Ок, отделю.

так инпут/селект правильно проверять?

$("#id").val().length == 0
sergeiss
Цитата (Reh @ 2.11.2015 - 23:24)
так инпут/селект правильно проверять?

$("#id").val().length == 0

Если на пустоту величины - да. Можно еще trim() добавить, чтобы исключить пробелы.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh

var test = $("#id").val();
$.trim(test);
if(test.length == 0){


То-есть так проверяем инпуты,
а так typeof(id) != 'undefined' && id != '' переменные?
AllesKlar
Про null, про null-то забыли!!! :)

var id = null;
typeof(id) != 'undefined' && id != '' // true


_____________
[продано копирайтерам]
sergeiss
Цитата (AllesKlar @ 3.11.2015 - 06:11)
Про null, про null-то забыли!!! :)

Нет, не забыли.

Цитата (sergeiss @ 2.11.2015 - 22:36)
Вторую проверку можно сделать по-разному,

Я тут и null тоже подразумевал. Просто тут можно дохрена всего напроверять. Всё зависит от данных, их структуры.

Ну например...
var a = $('.focus');

Переменную a проверять на null можно, но смысла нет. Потому что там всегда будет объект :) Даже typeof не нужен. Достаточно проверить a.length.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Reh
AllesKlar
sergeiss
спасибо!
Игорь_Vasinsky
typeof(id)


а

typeof id


не кроссбраузерно ?

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
sergeiss
Игорь_Vasinsky, по-моему, одинаково везде работает. Лично мне привычнее со скобками smile.gif Потому что больше похоже на функцию.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
Игорь_Vasinsky
sergeiss
аа... а я наоборот минимилизирую код)

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.