Preg Match Fehler

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

  • Preg Match Fehler

    Hallo,

    ich habe folgenden Code um bei der Eingabe des Namens zu prüfen:

    PHP-Code:
       if(!preg_match("/^[a-zA-Z0-9]{1}[a-zA-Z_.-0-9]{3,18}[a-z0-9]{1}$/"$benutzername)) {... 
    Jetzt stellt sich mir die Frage wieso ich bei Eingabe des Namens "christoph20" ein False erhalte. Bei "christoph2" gehts allerdings...

    Danke für die Hilfe,

    Christoph

  • #2
    weil deine quantifierer nicht zu dem string passen!

    Kommentar


    • #3
      Nun, ich will das der Name die folgende Form hat:

      [a-zA-Z0-9] am anfang und ende.
      Es soll jedoch ein -, ein . und ein _ erlaubt sein. Allerdings nicht am Anfang des Namens und ganz am Ende auch nicht.

      Hat jemand eine Lösung für mich? [merke: Iám still learning]

      Kommentar


      • #4
        kannst dich ja mal im manual und in unserem Tutorial zum Thema schlau machen. Ist so schwer nicht. Aber die fertige Lösung werde ich dir mit sicherheit nicht hinknallen. Vorallem, weil du nicht ansatzweise auf meinen Hinweis eingegangen bist, sondern gleich deine Forderung gestellt hast!

        Kommentar


        • #5
          Tut mir leid, sollte nicht als forderung rüberkommen.

          hab mir vorhin schon auf php.net das handbuch durchgelesen. allerdings werde ich da nicht ganz schlau draus. ein paar sagen hab ich mit preg_match schon geschafft, allerdings verstehe nicht wie ich vorgehen muss um meine wünsche zu verwirklichen.

          auch das handbuch auf php-resource hilft mir da nicht weiter. könnte mir bitte jemand behilflich sein und das "erklären"?

          Kommentar


          • #6
            auch das handbuch auf php-resource hilft mir da nicht weiter
            Falls es dir nicht aufgefall ist. dabei handelt es sich um das php.net-manual...

            Du sollst ja auch in die Tutorials gucken!

            Kommentar


            • #7
              btw. ist mir aufgefallen.

              Kommentar


              • #8
                Und haste jetzt in den Tuts nachgeguckt?

                Kommentar


                • #9
                  Ja hab ich.
                  Natürlich sind etliche Code-Schnipsel vorhanden. Nur was hilft mir das wenn ich das System nich durchblicke mit dem preg_match arbeitet?

                  Kommentar


                  • #10
                    so, ein wenig was konnte ich jetzt schon selbst rausfinden

                    ^ steht für 'anfang'
                    [0-9] sind alle zahlen
                    + sind beliebig viele wiederholungen
                    $ steht für 'ende'

                    Kommentar


                    • #11
                      nun, ein kleines stück weiter bin ich schon, trotzdem - trotz 2 stunden google werd ich noch immer nicht schlau.

                      mal schaun, vielleicht kanns mir ja jemand erklären wie ich in dem fall vorgehen muss. ich schnall einfach die logik dahinter nicht.

                      PHP-Code:
                         if(!preg_match("/^[a-zA-Z0-9]+[-]+[a-zA-Z0-9]{5,20}$/"$benutzername)) { 

                      Kommentar


                      • #12
                        So, jetzt funktioniert das ganze einigermaßen. Jetzt aber die Frage: Wenn ich schreibe

                        PHP-Code:
                           if(!preg_match("/^[a-zA-Z0-9]+[-]+[a-zA-Z0-9]{5,20}$/"$benutzername)) { 
                        Dann gibt er mir bei chris-www zum beispiel einen fehler aus. Grund: Weil nach dem "-" ja mindestens 5 Zeichen sein müssen ({5,20}). D.h. also das ich die Angabe der Zeichen weggeben muss. Wie kann ich dann trotzdem überprüfen das gesamt zwischen 5 und 20 Zeichen angegeben sind?

                        Edit: Das Format des eingegebenen Namens sollte so aussehen: abc-ksfdf

                        sprich, 1. zeichen muss buchstabe oder nummer sein, letztes zeichen ebenfalls. dazwischen darf (aber muss nicht) ein zeichen wie "-", "." und "_" sein.

                        weiters darf die gesamte eingabe nicht länger als 20 zeichen, jedoch mindestens 5 zeichen sein

                        Ich habs jetzt wirklich stundenlang versucht und ich bin kurz vorm platzen weil es einfach nicht funktionieren will
                        Zuletzt geändert von chrisphp; 08.04.2005, 16:42.

                        Kommentar


                        • #13
                          weiters darf die gesamte eingabe nicht länger als 20 zeichen, jedoch mindestens 5 zeichen sein
                          schicker sportwagen
                          Die Zeit hat ihre Kinder längst gefressen

                          Kommentar

                          Lädt...
                          X