Steel: Prüfung PLZ (1. Problem)

Beitrag lesen

Hi!

Dann will ich mal aus dem beruflichen Naehkaestchen plaudern.

Natuerlich kann man sich entscheiden nur deutsche Postleitzahlen zu aktzeptieren. Das ist sinnig um nicht totalen Muell zu speichern. Aber es ist noch lange kein Garant fuer korrekte Werte. Als Zahlen sollte man sie sowieso nicht verwenden, sondern stets als String behandeln.

PS: US-Postleitzahlen haben bis zu neun Ziffern.

Aehm. Das ist ein Irrtum. Wie in Brasilien werden in den USA gern Postfaecher an die Postal Codes gepappt. Generell sind US Postleitzahlen fuenfstellig. Alles andere ist ein lustiger Gimmick, nichts was man verwenden sollte, wenn man einer anderen Firma im gleichen Ort etwas schicken will... Dazu kommen die in den US noch gaengigen Kuerzel fuer den State. Sowas verursacht dann schonmal lustige Vorkomnisse.

Postleitzahlen sind allgemein ein verzwicktes Thema. Und jede Loesung zur Kontrolle von Postleitzahlen, die nicht an eine
Datenbank gekoppelt ist, in der JEDE Postleitzahl vorhanden ist, wird Fehler produzieren. Der Witz ist: Man glaubt nicht wieviele Leute ihre eigene Postleitzahl nicht korrekt kennen und man glaubt noch viel weniger wieviele korrekte Postleitzahlen es gibt, die aber eben doch falsch sind. Z.B. die PLZ eines Postfaches. Die kennt nur die Post und die gibt sie gewoehnlich nicht einfach so raus. Da ist fleissiges Sammeln angesagt.

Wenn ich allein dran denke wieviele Leute davon ueberzeugt sind DE10177
 oder D-10177 seien z.B. eine gueltige Berliner Postleitzahl... (wahlweise jede andere Postleitzahl mit entspr. Laendercode davor) Davor schuetzt natuerlich das Script. Das ist auch gut so. (Wenn die PLZ auf Deutschland  beschraenkt sind)

Allgemein empfehle ich fuer eine Postleitzahl 10 Zeichen zu reservieren, und zwar als String (immer, schliesslich kann man mit den Dingern auch nicht rechnen). Damit sollte man theoretisch auskommen, gaebs da nicht die Leute die ihre Daten irgendwo eintragen muessen... Und glaubt mir, ich hab schon alles moegliche im PLZ Feld gesehen.