Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP reguläre Ausdrücke Hilfe?

Einklappen

Neue Werbung 2019

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

  • Carhartt
    hat ein Thema erstellt PHP reguläre Ausdrücke Hilfe?.

    PHP reguläre Ausdrücke Hilfe?

    Hallo Leute,

    ich habe einen einfachen regularen Ausdruck geschrieben, der mir eingegebene
    Kennzeichen überprüfen soll.

    Meine Bedingungen sind nur die 2 "-" und das die Ortskennung mindestens 1 und maximal 3 Buchstaben hat.

    Hier der Code:
    Code:
    if(preg_match('/[a-zA-Z]{1,3}\-[a-zA-Z]{1,2}\-(\d+)/', $kennzeichen)) {
    		$PlateLegit = "True";
    } else {
    		$PlateLegit = "False";
    }
    Wenn ich ein Kennzeichen mit 5 Buchstaben am Anfang eintrage: "ABCD-AB-123", müsste es eigentlich falsch sein, aber er trägt dies trotzdem in die Datenbank ein.

    Was ist an dem Ausdruck falsch. War mein erster Versuch.
    Kennt jemand eine gute Übersicht aller Ausdrucksbefehle und Deutungen?

    Mit freundlichen Grüßen
    Fabian

  • nikosch
    antwortet
    1. /i
    2. Groß- und Kleinschreibung würde ich ebenfalls direkt vorher filtern/vereinheitlichen.

    Einen Kommentar schreiben:


  • voku1987
    antwortet
    hier kannst du das selber Testen -> http://regex101.com/r/xQ5kJ3

    Einen Kommentar schreiben:


  • m.white
    antwortet
    Anfang und Ende des gesamten Ausdrucks

    Code:
    ^[a-zA-Z]{1,3}-[a-zA-Z]{1,2}-(\d+)$

    Einen Kommentar schreiben:


  • Carhartt
    antwortet
    Das verstehe ich nicht so ganz.
    wäre das dann so:
    Code:
    if(preg_match('/^[a-zA-Z]{1,3}$\-^[a-zA-Z]{1,2}$\-^(\d+)$/', $kennzeichen))
    Oder kann mir jemand mal so eine Kennzeichenprüfung schicken?

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    je nach Schreibweise könnte statt dem '-' auch ein Leerzeichen stehen (z.B. [- ]{1})
    So etwas würde ich lassen und Leerzeichen schon vorher komplett rausfiltern.

    Einen Kommentar schreiben:


  • m.white
    antwortet
    ^ = Anfang des Ausdrucks
    $ = Ende des Ausdrucks


    Wenn es sich dabei um deutsche Kennzeichen handelt, sollten Umlaute mit eingeschlossen werden.

    das '-' muss nicht escaped werden; je nach Schreibweise könnte statt dem '-' auch ein Leerzeichen stehen (z.B. [- ]{1})

    Einen Kommentar schreiben:


  • tkausl
    antwortet
    Du hast vergessen festzulegen, dass gleich vor den 1-3 Buchstaben der Zeilenanfang ist ($) und nach der Zahl das Zeilenende(^), ansonsten muss dieser ausdruck nur irgendwo in deinem String passen, ganzegal was davor oder danach kommt.

    Einen Kommentar schreiben:


  • StealthXy
    antwortet
    Preg match sucht im gesamten Haystack nach einem passenden Ausdruck (Needle).
    Du musst noch angeben dass er vom Anfang an prüfen soll (weiss den Befehl dafür nicht mehr auswendig).

    Einen Kommentar schreiben:

Lädt...
X