Formular: Mindesteingabe von Buchstaben und Zahlen
Fragender
- php
0 Timmi0 jobo0 Antwortender0
MudGuard
1 Encoder
Hallo,
habe mich als Neuling mal an ein Gästebuch gesetzt und versucht dieses nur in PHP und HTML umzusetzen (kein AJAX, kein Javascript, etc).
Das Gästebuch läuft soweit auch. Formular Eingaben werden abgesendet, in einer SQL-Datenbank gespeichert und auch wieder ausgegeben (Gästebuchansicht).
Folgende Angaben können gemacht werden:
Name
Vorname
Geburtsdatum
Email
Strasse / Nr (Str und Hausnummer sind 2 verschiedene Input-Felder)
PLZ
Ort
Nachricht
Nun würde ich den Script gerne sagen, dass die Hausnummer mindestens 3 Buchstaben und eine Zahl beinhalten muss.
Wir dieses Vorhaben ebenfalls mit "preg_match" gemacht oder gibt es hierzu eine andere Funktion?
Würde mich über eine Antwort und ggf über ein kleines Beispiel freuen!
Liebe Grüße
[..] dass die Hausnummer mindestens 3 Buchstaben und eine Zahl beinhalten muss.
Nicht dein Ernst??
Wir dieses Vorhaben ebenfalls mit "preg_match" gemacht oder gibt es hierzu eine andere Funktion?
Damit dürfte es aber funktionieren, man kann dort nämlich logische Unterscheidungen definieren.
Man kann natürlich auch jedes Zeichen durchlaufen (z.B. mit "for"). Das ist zwar die weniger performantere Lösung, funktioniert aber genauso gut.
Hallo,
Nun würde ich den Script gerne sagen, dass die Hausnummer mindestens 3 Buchstaben und eine Zahl beinhalten muss.
Hausnummer drei Buchstaben und eine Zahl?
Wir dieses Vorhaben ebenfalls mit "preg_match" gemacht oder gibt es hierzu eine andere Funktion?
Klar. PerlREGularexpression soll matchen. [0-9]{3} wäre zum Beispiel dreimal Zahl, wenn ich das recht sehe. http://www.noupe.com/php/php-regular-expressions.html
Gruß
jobo
Hi,
[0-9]{3} wäre zum Beispiel dreimal Zahl, wenn ich das recht sehe.
nein, das wäre nur eine Zahl - und zwar eine mit drei Ziffern.
Die Begriffe "Ziffer" und "Zahl" werden leider gern verwechselt, und meist ergibt sich aus dem Kontext, was *wirklich* gemeint war. Allerdings sind Missverständnisse quasi vorprogrammiert.
So long,
Martin
Hallo,
[0-9]{3} wäre zum Beispiel dreimal Zahl, wenn ich das recht sehe.
nein, das wäre nur eine Zahl - und zwar eine mit drei Ziffern.
Die Begriffe "Ziffer" und "Zahl" werden leider gern verwechselt, und meist ergibt sich aus dem Kontext, was *wirklich* gemeint war. Allerdings sind Missverständnisse quasi vorprogrammiert.
Du hast vollkommen Recht. [a-zA-Z]{3} wäre dreimal Buchstabe und [a-zA-Z]{3}[0-9]{1} wäre wohl drei Buchstaben direkt gefolgt von einer _Ziffer_. Oder anders: 3 mal ein Zeichen aus der Reihe Kleinbuchstaben a-z oder Großbuchstaben A-Z gefolgt von einem Zeichen aus der Reihe 0-9.
Gruß
jobo
Hi,
[0-9]{3} wäre zum Beispiel dreimal Zahl, wenn ich das recht sehe.
nein, das wäre nur eine Zahl - und zwar eine mit drei Ziffern.
Die Begriffe "Ziffer" und "Zahl" werden leider gern verwechselt, und meist ergibt sich aus dem Kontext, was *wirklich* gemeint war. Allerdings sind Missverständnisse quasi vorprogrammiert.Du hast vollkommen Recht. [a-zA-Z]{3} wäre dreimal Buchstabe und [a-zA-Z]{3}[0-9]{1} wäre wohl drei Buchstaben direkt gefolgt von einer _Ziffer_. Oder anders: 3 mal ein Zeichen aus der Reihe Kleinbuchstaben a-z oder Großbuchstaben A-Z gefolgt von einem Zeichen aus der Reihe 0-9.
Vorher und nachher sind wieder beliebige Zeichen erlaubt, da die Anker fehlen ...
cu,
Andreas
Hi,
[0-9]{3} wäre zum Beispiel dreimal Zahl, wenn ich das recht sehe.
nein, das wäre nur eine Zahl - und zwar eine mit drei Ziffern.
Das matcht auf beliebige Zeichen (auch keine) gefolgt von 3 Ziffern gefolgt von beliebigen Zeichen (auch keine).
cu,
Andreas
Hallo,
habe mich als Neuling mal an ein Gästebuch gesetzt und versucht dieses nur in PHP und HTML umzusetzen (kein AJAX, kein Javascript, etc).
Das Gästebuch läuft soweit auch. Formular Eingaben werden abgesendet, in einer SQL-Datenbank gespeichert und auch wieder ausgegeben (Gästebuchansicht).
Folgende Angaben können gemacht werden:
Name
Vorname
Geburtsdatum
Strasse / Nr (Str und Hausnummer sind 2 verschiedene Input-Felder)
PLZ
Ort
NachrichtNun würde ich den Script gerne sagen, dass die Hausnummer mindestens 3 Buchstaben und eine Zahl beinhalten muss.
Wir dieses Vorhaben ebenfalls mit "preg_match" gemacht oder gibt es hierzu eine andere Funktion?
Würde mich über eine Antwort und ggf über ein kleines Beispiel freuen!
Liebe Grüße
Ich muss gestehen dass deine Anfrage ziemlich knifflig ist, aber mit folgendem Ausdruck solltest du das erreichen was du brauchst:
/^(?=.*[a-z].*[a-z].*[a-z])(?=.*[0-9]+)(?=[a-z0-9]+).{4,}$/i
Wenn jemand einen geschickteren Ausdruck kennt würde auch ich mich brennend dafür interessieren. :)
Super! Vielen Dank! Das ist genau das was ich gesucht habe!
Vielen Dank für die Lösung die mein Leben für kurze Zeit zur Hölle gemacht hat :)
Hi,
Nun würde ich den Script gerne sagen, dass die Hausnummer mindestens 3 Buchstaben und eine Zahl beinhalten muss.
Darf ich fragen, in welcher Gegend/welchem Land derartige Hausnummern verwendet werden?
Ich hab schon viele Hausnummern-Varianten gesehen (1, 2 3/4, 4a, 5-6, B7, 8 Rgb, 9/c, 10/11, D, ...)
Aber daß 3 Buchstaben Pflicht wären, wäre mir (für A, D, I, F, GB, IRL, CH, FL, B, NL, SLO, CZ, DK, S, E, P, PL, USA, CAN ...) neu.
cu,
Andreas
Auch wenns mir vielleicht als bezugslose Aussage angerechnet wird :-) aber ich muss einfach folgendes dazu sagen.
Als Lernprojekt ist es ok, du lernst wie du deine Vorgaben überprüfen kannst.
Aber als sinnvolles Gästebuch würd ich raten, lass die Angaben und Prüfungen einfach weg und du hast ein Problem weniger.
Es wird nämlich bestimmt keiner ernsthaft seine Adresse und ähnliches eintragen.