Don P: Prüfung PLZ (1. Problem)

Beitrag lesen

Hallo,

Es soll zusätzlich geprüft werden, ob die PLZ aus genau fünf Zahlen besteht. Wenn nicht, dann diesbezüglich Fehlermeldung und zurück ins Eingabefeld!

Du stellst bereits umständlich fest, ob die PLZ aus nur Ziffern besteht oder nicht (in chkZ), und fragst das dann ab.

Nun, statt einfach zu sagen "Wenn nicht, dann diesbezüglich Fehlermeldung und zurück ins Eingabefeld!" (genau das geschieht ja in den Zeilen: if(chkZ = -1)...), musst du also sagen "Wenn nicht oder wenn es nicht fünf Zeichen sind...". Das kannst du also in derselben Zeile schreiben. Die Information, wieviele Zeichen es genau sind, steht in deiner Zählvariablen i, die du vorher hochgezählt hast beim Abchecken auf Ziffern. Wenn es 5 Ziffern sind, hat i den Wert 6, sonst einen anderen.

Wir wärs denn mit

element = document.Formular.PLZ.value;
if(element.length == 5 && !isNaN(element)) erfolg();
else { whatever() };

  
Ich nehme an, dass hier der Ausdruck !isNaN(element) den Wert true liefern soll, wenn element nur aus Ziffern besteht, sonst false. Das funktioniert aber nicht zuverlässig, denn z.B. !isNaN('\n\r\t  ') liefert ebenfalls true und hat sogar die Länge 5, ist aber keine Zahl.  
  
Gruß, Don P