Formularfeld auf NaN überprüfen

chickenwings

Erfahrenes Mitglied
Hallo,

bin auf der Suche nach einer Möglichkeit Formularfelder zu validieren.
Für gewöhnliche Strings geht es auch, wenn allerdings an Zahlen geht, wirds heikel.
Ich habe ein Geburtstagsfeld, daß abgefangen werden soll.

Folgendes habe ich versucht:
Code:
var x = form.geb_tag.value;
		x = parseInt(x);
		alert(x);
		if( x < 1 || x > 31 || x == 'NaN'){
			alert("Falscher Wertebereich: Geburtstag");
			form.geb_tag.focus();
			return false;
		}

Das alert() gibt mir ein "NaN" aus, wie es auch zu erwarten ist. Wenn ich in das Feld etwas, was keine Zahl ist, eingebe, wird jedoch die anschliessende Überprüfung übergangen. Wenn ich Integer-Werte eingebe und den Zahlenbereich verlasse, wird korrekt der Fehler ausgegeben.

Jemand eine Idee, wie ich das noch überprüfen könnte?

gruss
chickenwings
 
alles klar, habe eine Möglichkeit schon gefunden.
Für interessierte:

Es gibt eine Funktion, die das erledigt. Sie heisst isNaN(Wert);

Gruss
chickenwings
 
Hi,

ja Du hast recht. Was gibt es aber sonst für eine Möglichkeit, als diese oder mit einer Schleife sämtliche Stellen des Feldes abzufragen und aufzusummieren, um somit den Wertebereich zu ermitteln?


Gruss
chickenwings
 
Hallo,

besser wäre folgender Ausdruck:
Code:
if (x.match(/^[1-9]\d*$/)
Führende Nullen können nämlich zu unerwartetem Verhalten führen (Interpretation als Oktalzahl).

Grüße,
Matthias
 

Neue Beiträge

Zurück