Ankündigung

Einklappen
Keine Ankündigung bisher.

Textfeld: Validierung bestimmte Form

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Textfeld: Validierung bestimmte Form

    Hi,

    ich möchte ein Textfeld nach Absenden des Formulars validieren.

    Die Form ist wie folgt:

    0000.000.000_00000000

    Wie kann ich das realisieren?
    Danke & Gruß
    Schmakus


  • #2
    Mit einer Regular Expression
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Ok, wer kann mir aus der Patsche helfen?
      Vor lauter Zeichen sehe ich keine Zeichen mehr.....

      PHP-Code:
      $ident "1234.567.890_12345678"
      if (preg_match(" ...... "$ident)) { 
      Bei der Zeichenkette hört auf!

      - Es dürfen keine Buchstaben vorkommen
      - Es dürfen keine Sonderzeichen außer dem Unterstrich und Punkte vorkommen
      - Die Länge muss exakt wie im Beispiel sein.

      Wer kann mir helfen?

      Gruß
      Schmakus

      Kommentar


      • #4
        @^[0-9]{4}\.[0-9]{3}\.[0-9]{3}_[0-9]{8}$@

        die @ sind die Delimiter (definieren anfang und ende des musters), die Zahlen in {} geben die Anzahl an. \. heißt dass da ein Punkt stehen muss, [0-9] ist eine beliebige Ziffer. [0-9]{4} heißt dass genau 4 Ziffern vorkommen müssen.

        Kommentar


        • #5
          Zitat von Spamversender Beitrag anzeigen
          @[0-9]{4}\.[0-9]{3}\.[0-9]{3}_[0-9]{8}@

          die @ sind die Delimiter (definieren anfang und ende des musters), die Zahlen in {} geben die Anzahl an. \. heißt dass da ein Punkt stehen muss, [0-9] ist eine beliebige Ziffer. [0-9]{4} heißt dass genau 4 Ziffern vorkommen müssen.
          Wenn eine Eingabe auf Gültigkeit geprüft werden soll, dann musst du auch die Länge mit einbeziehen (wo hört das Muster auf, wo fängt es an):

          PHP-Code:
          preg_match('/\A[0-9]{4}\.[0-9]{3}\.[0-9]{3}_[0-9]{8}\z/'$user_input); 
          \A verankert das Suchmuster am String-Anfang
          \z macht das Gleiche am Ende
          Da wir hier Benutzereingaben verarbeiten, wären ^ und $ nicht die besten Kandidaten. Siehe auch: http://de.wikipedia.org/wiki/Regulär...ruck#Quantoren

          Die üblichen Standard-Begrenzer ("delimiter") sind hier übrigens völlig ausreichend, weil es im Muster nichts spezielles zu "escapen" gibt.
          Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

          Kommentar


          • #6
            Code:
            @^[0-9]{4}\.[0-9]{3}\.[0-9]{3}_[0-9]{8}$@
            Nur ^ und $ zugefügt, sonst würde auch so was wie "abc1234.567.890_12345678xyz" matchen.

            Edit:
            Zitat von fireweasel Beitrag anzeigen
            Da wir hier Benutzereingaben verarbeiten, wären ^ und $ nicht die besten Kandidaten.
            Bevor hier Panik ausbricht für alle (mich eingeschlossen) die immer ^ und $ benutzen, dieser Hinweis:
            Die Zeichen ^ und $ matchen im multiline-Modus, also wenn der m-Modifier gesetzt wird, auch Zeilenanfänge und -enden.
            LG jspit
            PHP-Klassen auf github

            Kommentar

            Lädt...
            X