EisFuX: Deutsche Postleitzahl mit mindestens 3 Stellen (ohne 00 ;-)

Beitrag lesen

(Hallo|Hi(ho)|Nabend) Oleg,

LX, danke für den Muster, leider funktioniert nicht ganz wie ich es gerne hätte, also folgende Werte:
Am Anfang darf eine Null sein:
0121
...
Ist am Anfang eine Null darf hinter keine mehr vorkommen, Bsp. München 80010, tipp der User die münchner PLZ wird sie leider nicht gefunden.
Folgende Bsp. habe ich noch ausprobiert, die leider nicht funktioniert:
-89023
...

  
// Postleitzahl oder Teil davon (die ersten 1 bis 5 Ziffern):  
preg_match('/\A\s*(0([1-9][0-9]{0,3})?|[1-9][0-9]{0,4})\s*\z/', $input);  

Ist der User sich nicht sicher seiner PLZ, gibt er 3 Zahlen seiner PLZ ein, dann wird eine Liste angezeigt, die auf diesen Bereich zutrift.
Es müssen mindestens 3 Zeichen sein um eine Abfrage starten zu können.

Warum mindestens 3 Ziffern? Wenn ich mir nicht sicher bin, welche Postleitzahl ich wählen soll, wie soll ich dann die ersten drei Stellen davon aus dem Hut zaubern?

Sei's drum, dann eben fast das Gleiche mit mindestens 3 Stellen:

  
preg_match('/\A\s*(0([1-9][0-9]{1,3})|[1-9][0-9]{2,4})\s*\z/', $input);  

Abfrage wie D-83495 ist nicht vorgesehen, Österreich und Schweiz leider eben so.

Also wenn du alle gültigen deutschen Postleitzahlen erfassen willst, dann wirst du einige Österreicher und Schweizer mit einbeziehen müssen. Denn die haben (auch) deutsche Postleitzahlen. ;-)

MffG
EisFuX