PLZ mit PHP über prüfen
Oleg
- php
Hallo
über PHP möchte ich prüfen, ob die eingetragene PLZ, der ein User eingetragen hat ok ist.
dazu habe ich folgende Abfrage geschrieben:
if( !preg_match("/^0+$/", $plz ) && preg_match( "/^(\d)[1-9]\d{2,5}$/", $plz) )
{...}
Also die erste preg_match sucht nur nach Nullen, falls der User folgende Werte eingetragen hat 0 oder 00 oder 000 oder 0000 usw.
Die zweite preg_match soll nach Zahlen suchen, also am Anfang darf eine Zahl stehen, dann sollen ihr nur Werte von 1 bis 9 folgen und es müssen mindestens 3 werte und Maximum 5 Werte übergeben werden.
Folgende Werte darf der User in das Suchfeld eintragen:
012
0123
01234
Diese Werte sind ok aber für 80010 ist die Abfrage nicht ok.
Die Zweite Stelle ist eine Null, was die preg_match ablehnt.
Werte wie 00012 oder 001 sind nicht erlaubt.
Wie kann ich die Prüfung an die PLZ von München (80010) anpassen, d.h. hier soll an der zweiten und dritten Stellen eine Null erlaubt sein.
Grüße
Oleg
Wie kann ich die Prüfung an die PLZ von München (80010) anpassen, d.h. hier soll an der zweiten und dritten Stellen eine Null erlaubt sein.
wieso prüfst du nicht einfach, ob der inhalt nummerisch ist und eine länge von 5 ziffern hat bzw lässt die prüfung komplett weg
zudem, was ist wenn jemand D-83495 oder ein österreicher der 5020 oder A-5020 eingibt?
Hallo zusammen,
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
01212
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
-09903
-2912
-8001
suit.
wieso prüfst du nicht einfach, ob der inhalt nummerisch ist und eine länge von 5 ziffern hat bzw lässt die prüfung komplett weg.
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.
zudem, was ist wenn jemand D-83495 oder ein österreicher der 5020 oder A-5020 eingibt?
Abfrage wie D-83495 ist nicht vorgesehen, Österreich und Schweiz leider eben so.
Grüße
Oleg
Eine Angabe zu deinem Kantönligeist hättest du beim Thema Validierung einer PLZ als Teil deiner Problembeschreibung schon angeben dürfen.
Deutschländer sind im Schnitt die zweitschlimmsten Amerikaner.
Auslands-Deutsche ausgenommen.
mfg Beat
Deutschländer sind im Schnitt die zweitschlimmsten Amerikaner.
schön gesagt - kann man das ins zitatarchiv packen?
Hi suit!
Deutschländer sind im Schnitt die zweitschlimmsten Amerikaner.
schön gesagt - kann man das ins zitatarchiv packen?
Schlags doch vor...
Wieder zu viel gefeiert? =)
MfG H☼psel
Deutschländer sind im Schnitt die zweitschlimmsten Amerikaner.
schön gesagt - kann man das ins zitatarchiv packen?
Würze zum Thema
Google nach "Postleitzahlen Schweiz"
bringt folgende Website als Nr.1
Im Header zu Lesen "PLZ Abfrage für Österreich, die Schweiz und Liechtenstein"
Aber das Formular lässt weitere internationale Abfragen zu.
Was hat sich dieser Designer wohl gedacht?
mfg Beat
Hi!
Im Header zu Lesen "PLZ Abfrage für Österreich, die Schweiz und Liechtenstein"
Das steht aber: 'PLZ-Abfrage für Deutschland, Österreich, Liechtenstein und die Schweiz'
Aber das Formular lässt weitere internationale Abfragen zu.
Ja das stimmt!
Was hat sich dieser Designer wohl gedacht?
Der hat wohl eins auf DACHLi bekommen!
off:PP
Im Header zu Lesen "PLZ Abfrage für Österreich, die Schweiz und Liechtenstein"
Das steht aber: 'PLZ-Abfrage für Deutschland, Österreich, Liechtenstein und die Schweiz'
Im Title Tag ja.
Aber nicht im "Logo Kleingedruckten."
Oder haben wir verschiedene Versionen?
mfg Beat
Hi!
Im Header zu Lesen "PLZ Abfrage für Österreich, die Schweiz und Liechtenstein"
Das steht aber: 'PLZ-Abfrage für Deutschland, Österreich, Liechtenstein und die Schweiz'Im Title Tag ja.
Aber nicht im "Logo Kleingedruckten."
<p class="kleinlaut">Stimmt, da hast du wohl recht!</p>
Oder haben wir verschiedene Versionen?
Nein, wohl nicht!
Hatte halt auf den title geschaut, weil du eben 'header' schriebst und da ich das mit 'HTML-head' assozierte.
off:PP
Hallo :)
Deutschländer sind im Schnitt die zweitschlimmsten Amerikaner.
schön gesagt - kann man das ins zitatarchiv packen?
Nein, man kann es nur vorschlagen und drüber abstimmen lassen.
Ich bin früher jedes Jahr nach Österreich in den Urlaub gefahren, bis ich drauf
gekommen bin, dass die Österreicher die Inlandsdeutschen pauschal als Piefke [1] bezeichnen.
Ich lebe in einem ehemaligen Königreich, das vom Aggressor Preußen
ehemals einfach besetzt wurde. Leider konnten wir uns von diesem feindlichen Akt nie wieder erholen.
Wenn das in Österreich so weiter geht, werde ich den
Schluchtenscheißer in meinen Wortschatz aufnehmen.
Und wem ist damit dann gedient?
[1] Piefke war ein preußischer Militärmusiker
mfg
cygnus
Wenn das in Österreich so weiter geht, werde ich den
Schluchtenscheißer in meinen Wortschatz aufnehmen.
Und wem ist damit dann gedient?
Ich hoffe es ist bekannt wer und was den Kuh-Schweizern ihren Namen gab.
mfg Beat
Hallo :)
Ich hoffe es ist bekannt wer und was den Kuh-Schweizern ihren Namen gab.
Keine Ahnung, ich bin kein Sauschwabe.
Ich bemühe mich hier wirklich ganz enorm,
Schweizer und Österreicher ganz lieb zu haben.
mfg
cygnus
Ich hoffe es ist bekannt wer und was den Kuh-Schweizern ihren Namen gab.
Keine Ahnung, ich bin kein Sauschwabe.
Ich bemühe mich hier wirklich ganz enorm,
Schweizer und Österreicher ganz lieb zu haben.
Es gibt keinen Netiquette-Paragraphen hier, der dir dein normal Sein --hier-- verbietet.
mfg Beat
Hallo :)
Es gibt keinen Netiquette-Paragraphen hier, der dir dein normal Sein --hier-- verbietet.
Ich kriege psychische Probleme, wenn Sie mich hier im Forum duzen.
Nehmen Sie darauf bitte Rücksicht und denken Sie daran, dass ich die gleiche Rücksicht auf Sie nehme.
mfg
cygnus
Ich kriege psychische Probleme, wenn Sie mich hier im Forum duzen.
Nehmen Sie darauf bitte Rücksicht und denken Sie daran, dass ich die gleiche Rücksicht auf Sie nehme.
Ich habe nichts dagegen, Schwäne zu 'siezen'. Wieviel seid 'Ihr' denn?
mfg Beat
Hallo :)
Ich habe nichts dagegen, Schwäne zu 'siezen'. Wieviel seid 'Ihr' denn?
Angeber.
Du traust Dich doch gerade mal an die Hühner.
mfg
cygnus
Schweizer und Österreicher ganz lieb zu haben.
sei froh, dass ich dir das nicht übel nehme, dass du mich mit den röstifressern in einen topf wirfst :D
Ich bin früher jedes Jahr nach Österreich in den Urlaub gefahren, bis ich drauf gekommen bin, dass die Österreicher die Inlandsdeutschen pauschal als Piefke [1] bezeichnen.
ach ihr preißn im piefkeland versteht einfach keinen spass
Wenn das in Österreich so weiter geht, werde ich den Schluchtenscheißer in meinen Wortschatz aufnehmen.
also ich find schluchtenscheisser süss - los, gib mir tiernamen ;)
nein im ernst, das muss man mit humor sehen - ich hab nix dagegen, wenn mich jemand als ösi, alpen-indianer oder schluchtenscheisser bezeichnet
es im deutschen sprachraum gibts halt mal gewissen fraktionen, die beiden größten werden durch den weisswurstäquator getrennt und die sache hat sich
Und wem ist damit dann gedient?
ich stelle mal in den raum, dass 90% der populärkultur auf ethnischen klischees basieren
ob das jetzt echte völker oder rassen einbezieht oder auf gewisse berufsschichten abzielt ist egal, man darf es nur nicht als grund für einen glaubens oder hasskrieg verwenden
beispiel:
warum kaufen bauern ihren kindern immer zu kleine schuhe?
nun könnte sich ein landwirt bzw bauer darüber aufregen oder einfach darüber lachen und gut ist
in einer tolleranten gesellschaft wären auch rassistische witze möglich ohne dass jemand dem anderen deshalb ein auge ausschlägt oder jemanden um die ecke bringt
ein beispiel aus südafrika - der rassismus ist dort ja leider immer noch gang ung gäbe:
wenn man als weisser [1] über schulen spricht, die ausschließlich für schwarze [1] schüler gebaut werden, gilt man sofort als rassist
hingegen, wenn man als schwarzer eine schule nur für schwarze eröffnet und weisse vom unterricht aus der schule ausschließt, ist man seltsamerweise kein rassist
[1] ich persönlich finde es durchaus politisch korrekt wenn man von schwarz/weiss spricht - ich finde dieses gekünstelte politsch korrekt sein "mitbürger afrikanischer abstammung" sehr zweifehaft, da es das problem direkt in den mittelpunkt rückt - wenn man einfach nur ohne positive oder negative behaftung "schwarzer" sagen könnte, wäre das viel einfacher
Hallo :)
hingegen, wenn man als schwarzer eine schule nur für schwarze eröffnet und weisse vom unterricht aus der schule ausschließt, ist man seltsamerweise kein rassist
Die afrikanische Abstammung ist ja sowieso unser aller Problem,
denn es scheint ja zu stimmen, dass die Wiege der gesamten Menschheit in Afrika stand.
Also Schwamm drüber, Du österreichischer Mutant.
mfg
cygnus
Hallo.
in einer tolleranten gesellschaft
Toll.
wenn man als weisser [1] über schulen spricht, die ausschließlich für schwarze [1] schüler gebaut werden, gilt man sofort als rassist
hingegen, wenn man als schwarzer eine schule nur für schwarze eröffnet und weisse vom unterricht aus der schule ausschließt, ist man seltsamerweise kein rassist
Das erinnert an den selektiven Sexismus der Feministinnen.
MfG, at
Hi!
Deutschländer sind
knackig wie Wiener!
off:PP
Mahlzeit Oleg,
Am Anfang darf eine Null sein:
0121
01212
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.
Bitte beschreibe Dein Problem so, dass man es auch verstehen kann.
MfG,
EKKi
(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
(Hallo|Hi(ho)|Nabend) EisFuX,
Also wenn du alle gültigen deutschen Postleitzahlen erfassen willst, dann wirst du einige Österreicher und Schweizer mit einbeziehen müssen.
Letzteres ist natürlich Schwachsinn: Büsingen am Hochrhein ist eine deutsche Enklave. Aber dort hat man neben deutschen auch Schweizer Postleitzahlen.
MffG
EisFuX
Hi!
So, ich hoffe, jetzt gibts nichts mehr zu verbessern ... ;-)
Naja. Du haettest Dir alles sparen koennen, denn saemtliche merkwuerdige Ausnahmen haben allesamt korrekte fuenfstellige deutsche Postleitzahlen. Und genau die Dinger sollten sie in diesem Fall auch verwenden.
Hallo zusammen,
danke EisFuX, Deine Abfrage ist das was ich suche.
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. ;-)
Nichts gegen die Schweizer oder Österreicher, leider ist es im Projekt nicht vor gesehen :-(
Grüße
Oleg
Nichts gegen die Schweizer oder Österreicher, leider ist es im Projekt nicht vor gesehen :-(
Sieh Dich vor, für diese Schreibweise ist Punktabzug vorgesehen.
Hi!
wieso prüfst du nicht einfach, ob der inhalt nummerisch ist und eine länge von 5 ziffern hat bzw lässt die prüfung komplett weg
Postleitzahlen sind nicht numerisch. Was wuerde dann z.B. aus 01587? (nur um mal bei Deutschland zu bleiben)
zudem, was ist wenn jemand D-83495 oder ein österreicher der 5020 oder A-5020 eingibt?
Nix, weil das keine Postleitzahlen sind. Das sollte vom Programm korrekterweise abgewiesen werden.
Hallo
wieso prüfst du nicht einfach, ob der inhalt nummerisch ist und eine länge von 5 ziffern hat bzw lässt die prüfung komplett weg
Postleitzahlen sind nicht numerisch. Was wuerde dann z.B. aus 01587?
Och nöö, schon wieder ein Programmierer. ;-)
Natürlich sind PLZ numerisch. Sie kommen aus dem Formular als Strings aus Ziffern[1], die z.B. in PHP mit is_numeric darauf geprüft werden können, ob sie vollständig aus selbigen, den Ziffern, aufgebaut sind. Numerisch vs. is_numeric, klickt's? ;-) Vielleicht sollte man auch besser von "zifferisch" sprechen.
<wieklingtdas>Eine Postleitzahl ist zifferisch.</wieklingtdas>? Ja, mit exorbitant betontem "e" klingt das schön. :-)
[1] wenn sie denn gültig eingegeben wurden
Tschö, Auge
Hi!
<wieklingtdas>Eine Postleitzahl ist zifferisch.</wieklingtdas>? Ja, mit exorbitant betontem "e" klingt das schön. :-)
Ziferisch. (man beachte das weggelassene f den numerisch hat auch nur ein m, daher das betonte e) Hm. Da koennte ich mich sogar dran gewoehnen. Sieht nur komisch aus.
Hallo
Hi!
<wieklingtdas>Eine Postleitzahl ist zifferisch.</wieklingtdas>? Ja, mit exorbitant betontem "e" klingt das schön. :-)
Ziferisch. (man beachte das weggelassene f den numerisch hat auch nur ein m, daher das betonte e) Hm.
Da mit einem "f" auch das "i" länger gesprochen wird, können wir, der Lautmalerei wegen, auch gleich ein "ie" benutzen. Damit würde das Wort "zieferisch" geschrieben.
Nee, mal im Ernst. Das weggelassene "m" in "numerisch" bezieht sich, nach der in meiner Gegend üblichen Aussprache, eher auf das davor stehende "u". Aus dem kurzen "u" wie halt in "Nummer" wird ein langes wie in "nun". Aber ja, auch "bei uns" wird das folgende "e" lang gesprochen.
Da koennte ich mich sogar dran gewoehnen. Sieht nur komisch aus.
Das war Sinn und Zweck der Übung. :-)
Tschö, Auge
(Hallo|Hi(ho)|Tag) Steel,
Ziferisch. (man beachte das weggelassene f den numerisch hat auch nur ein m, daher das betonte e) ...
Mag sein, dass numerisch nur ein "m" hat, aber nummerisch hat zwei und wird anders ausgesprochen:
numerisch/nummerisch: Beide Formen werden in der Bedeutung »zahlenmäßig, der Zahl nach« gebraucht. Das Adjektiv n_u_mmerisch (Betonung auf der ersten Silbe) ist die jüngere eingedeutschte Form von num_e_risch (Betonung auf der zweiten Silbe), das im 18. Jahrhundert aus neulat. /numericus/ entlehnt wurde [...]
... so schreibt es zumindest mein grüner Duden. ;-)
Ehrlich gesagt, war ich selbst überrascht, dass es eine Variante mit Doppel-m gibt. So gesehen, war die Reformierung von "numerieren" zu "nummerieren" immerhin konsequent.
Hm. Da koennte ich mich sogar dran gewoehnen. Sieht nur komisch aus.
Neue Wörter sehen immer komisch aus. Aber da es sich bei ziferisch|zifferisch nicht um eine Entlehnung aus der englischen Sprache handelt, wird es sich wohl leider nicht durchsetzen. :(
Und vielleicht erzeugt die Aussprache mit langem "e" ja auch zu negative Assoziationen. ;-)
MffG
EisFuX
(Hallo|Hi(ho)|Tag) Auge,
Postleitzahlen sind nicht numerisch. Was wuerde dann z.B. aus 01587?
Och nöö, schon wieder ein Programmierer. ;-)
Natürlich sind PLZ numerisch. Sie kommen aus dem Formular als Strings aus Ziffern[1], die z.B. in PHP mit is_numeric darauf geprüft werden können, ob sie vollständig aus selbigen, den Ziffern, aufgebaut sind. Numerisch vs. is_numeric, klickt's? ;-) Vielleicht sollte man auch besser von "zifferisch" sprechen.
Öhm, in meiner Berufsausbildung hat man mir für diese Zwecke das schöne und heut zu Tage inflationäre gebrauchte Wort digital beigebracht.
Leider bezieht es sich nur in der Technik auf Ziffern, in der Medizin wird es meist im Zusammanhang mit Fingern verwendet. :-)
MffG
EisFuX
preg_match("/^((\d[1-9]|[1-9]\d)\d[3,4])$/")?
Gruß, LX
Hi,
preg_match("/^((\d[1-9]|[1-9]\d)\d[3,4])$/")?
bei diesem Bedingungsoperator fehlen noch der Doppelpunkt sowie die jeweils zurückzugebenden Werte.
Cheatah, SCNR
über prüfen
Das heißt nach wie vor überprüfen!
Man kann und soll sich nicht über alles aufregen und ich mache auch Fehler aber diese Krankheit, jedes Wort, welches man in zwei einzeln existierende Wörter zerlegen kann, getrennt zu schreiben, ist bald nicht mehr auszuhalten.
Hau, ich habe gebrochen.