Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как правильно проверить данные на пустоту ? (https://javascript.ru/forum/dom-window/23089-kak-pravilno-proverit-dannye-na-pustotu.html)

saturn 10.11.2011 23:08

Как правильно проверить данные на пустоту ?
 
Добрый вечер!.
Скажите, так будет правильно если мне нужно проверить данные на пустоту:

if((var_id == "") || (var_text == "") {
 alert("Есть пустая переменная");
}

рони 10.11.2011 23:50

saturn,
скобка пропущена
Цитата:

Сообщение от saturn
if((var_id == "") || (var_text == "")) {
alert("Есть пустая переменная");
}


observer 11.11.2011 01:24

Как-то вы неправильно определились с терминологией.
 
В JS есть тип специальные типы данных undefined (для неустановленного значения) и null.

Для строки справедливым будет "пустая строка", для булева значения false, а для числа -- 0.

Что вы хотите получить в результате проверки? Что будете проверять?

Если тип данных заранее неизвестен, то лучше привести к какому-нибудь типу (строке, числу и др.), а потом и производить сравнения.

Aetae 11.11.2011 02:05

if(var_id||var_text) {
alert("Есть пустая переменная");
}

saturn 11.11.2011 12:15

Спасибо всем за участие.
observer то что я хотел услышать +
рони Правильно заметил :) ,
Aetae
Интересно, а это выражение будет равно тому что я написал?

Aetae 11.11.2011 13:16

Ды я вообще ступил, оно обратно вашему.)

рони 11.11.2011 13:29

Aetae,
saturn,
вариант...
if(!var_id||!var_text) {
alert("Есть пустая переменная");
}

saturn 11.11.2011 18:16

рони
А кстати, хороший вариант.

Исправьте, если я не правильно понял.
Если переменной не существует тогда undefined;
Если переменная существует но не присвоено значение тогда NULL;
Если строка пустая значит =="";
Булевые значения true or false;
А что с числом, если указать что должно придти число !isNaN(varint) а значение не передать тогда что вернется ? (ноль)

Почемучкин 14.11.2011 01:26

А для числа - разве не константа NaN - это признак отсутствия значения?


Часовой пояс GMT +3, время: 06:00.