Sprawdzanie długości przesłanego łańcucha znaków ma wtedy sens, jeśli rzeczywiście oczekujemy, że w polu znajdzie się łańcuch znaków i będzie on miał lub nie będzie miał określonej długości. Aby sprawdzić, czy
pole tekstowe zostało wypełnione jakąś wartością wystarczy użyć w PHP funkcji empty(), ale stosuje się również porównanie do pustego łańcucha znaków, czyli:
if(isset($_POST['login']) && $_POST['login'] != '') { // pole login zostało wypełnione
}
// jeśli pole jest polem tekstowym, to możemy użyć czegoś takiego
if(!empty($_POST['login'])) { // pole login zostało wypełnione
}
Inaczej wygląd sytuacja jeśli mówimy o polach typu checkbox, bo przy tego typu polach isset() bardzo się przydaje, żeby nie rzec, że jest koniecznością.
Jeśli chodzi o typy zmiennych w JS, po stronie przeglądarki, to:
NaN - Not a Number - przypisywana zmiennej, która nie jest prawidłowym wynikiem działań
arytmetycznych,
undefined - to taka zmienna, która nie została zadeklarowana (słówko var) lub taka, która jest argumentem funkcji lub właściwością/polem obiektu i nigdy nie otrzymała wartości,
null - to zmienna pusta,
"" - to po prostu pusty łańcuch znaków (jego długość to 0).
Trochę więcej na ten temat możesz znaleźć
tutaj (zajrzyj również do źródła artykułu).