Fragender: Formular: Mindesteingabe von Buchstaben und Zahlen

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

  1. [..] 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.

  2. 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

    1. 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

      --
      Keine Sorge, wir finden für jede Lösung ein Problem.
      1. 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

        1. 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

          --
          Warum nennt sich Andreas hier MudGuard?
          O o ostern ...
          Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
      2. 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

        --
        Warum nennt sich Andreas hier MudGuard?
        O o ostern ...
        Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  3. 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

    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. :)

    1. 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 :)

  4. 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

    --
    Warum nennt sich Andreas hier MudGuard?
    O o ostern ...
    Fachfragen per Mail sind frech, werden ignoriert. Das Forum existiert.
  5. 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.