Reguläre ausdrücke die xste...

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

  • Reguläre ausdrücke die xste...

    Hi,

    mit folgender Funktion will ich überprüfen, ob ein string nur aus Buchstaben und Zahlen besteht und außerdem nur aus 6 bis max 10 Zeichen besteht:

    if (!preg_match("^[0-9a-zA-Z]{6,10}$",$_POST['u_pass'])){
    // errorhandle
    // $errorcode=9 ::: Passwort nicht korrekt
    }
    Leider hauts nicht hin...
    Weiß jmd rat?

  • #2
    PHP-Code:
    if(!ereg("([a-zA-Z0-9])+"$str) || strlen($str) > 6) {
        die(
    "Also bla bla bla ist FALSCH!!!");

    tata
    moqui

    [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

    Kommentar


    • #3
      Du musst auch delimiter benutzen

      preg_match("/^[\w]{6,10}$/",$string)
      sollte das richtige Ergebnis geben allerdings mit ßäüö

      ohne sonderzeichen:
      preg_match("/^[\da-z]{6,10}$/i",$string)
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        @MelloPie

        if (!preg_match("/^[\da-zA-Z]{6,10}$/",$_POST['u_pass'])){
        // $errorcode=9 ::: Passwort nicht korrekt
        header("Location: e_account.php?errorcode=9&u_name=".$_POST['u_name']."&u_email=".$_POST['u_email']);
        }

        Bei $_POST['u_pass'] = "!23456" geht er nicht wie erwartet zum errorhandle...

        Auch hier geht nichts:

        if (!preg_match("/^[0-9a-zA-Z]{6,10}$/",$_POST['u_pass'])){
        // $errorcode=9 ::: Passwort nicht korrekt
        //usw....
        }


        Weißt Du weiter?

        Kommentar


        • #5
          nimm doch mein Beispiel....ist halt nicht Perl-Kompatibel aber tut
          tata
          moqui

          [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

          Kommentar


          • #6
            okay, denn mit Dir...

            Haut aber dennich nicht hin...
            So habs ich's jetzt:

            PHP-Code:
            if (!ereg("/^[0-9a-zA-Z]$/",$_POST['u_pass'])){
            // $errorcode=9  ::: Passwort nicht korrekt

            Es kommen immer noch sonderzeichen durch...

            PS: Mit nem "+" anstatt "$" vor'm letzten Delimiter hab ich's auch vergebens versucht.

            Kommentar


            • #7
              keine Ahnung was Du baust aber bei mir funzt das.
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar


              • #8
                Haut jetzt hin.

                Mein Fehler ich hatte den break hintern header beim errorfall vergessen und somit ist er dann das ganze script durchgegangen anstatt dem errorhandle zu folgen....

                Mit der ereg hat's dennoch nicht geklappt...

                Kommentar

                Lädt...
                X