Hallo,
if (str.length==5)
if (str.match(/\b\d\d\d\d\d\b/)) is=true;
von Postleitzahlen und regulären Ausdrücken habe ich keine Ahnung, schätze aber dass deine "Prüfung nach völligem Quatsch" völlig Quatsch ist, weil eine 00000 immer noch durchgeht, und gerade dies wollte er ja vermeiden. Weiterhin ist die Sache mit den Wortgrenzen auch überflüssig. Rein intuitiv würde ich sagen, dass der reguläre Ausdruck /^\s*[1-9]\d{4}\s*$/ lauten sollte.
Kurz gesagt:
function IsPLZ (szPLZ) {
var re = /^\s*[1-9]\d{4}\s*$/;
return re.test(szPLZ);
}
Und wenn er die Formularwerte noch säubern möchte, dann sollte er ein Match setzen und diesen ins Textfeld zurückschreiben.
simon
Hallo,
PLZ Cottbus: 03044 -> false
Das eben meinte ich. 00000 ist genauso falsch wie 01000 und 00100, aber 03044 ist eben richtig. Wenn man alle falschen Varianten ausfiltern möchte, dann wird das script sicherlich sehr lang.
Gruß
Axel