Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit ereg Funktion!

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem mit ereg Funktion!

    Hallo,

    ich habe folgenden ereg-code erstellt:
    PHP-Code:
    ereg('[^A-Za-z0-9_-]'$username); 
    Laut Code sollen ja alle Buchstaben von A-Z und von a-z sowie alle Zahlen von 0-9 erlaubt sein. Nun sind noch die Zeichen (_) und (-) erlaubt.

    Nun meine Frage:
    Ist es möglich, dass die zwei Sonderzeichen nur in der Mitte von $username erlaubt sein können und nicht am Anfang und nicht am Ende stehen dürfen.

    Habe leider hier in der Suche und auch bei Google nichts gefunden! Vielleicht auch mit einer anderen Funktion???


  • #2
    PHP-Code:
    preg_match('/^[a-z0-9][\w-]*[a-z0-9]$/iU'$username); 
    Gruss
    L

    Kommentar


    • #3
      Zitat von lazydog Beitrag anzeigen
      PHP-Code:
      preg_match('/^[a-z0-9][\w-]*[a-z0-9]$/iU'$username); 
      hm, bei der funktion mit den angaben muss doch ein (-) am anfang oder ende stehen... so zumindestens wenn ich es teste!

      Kommentar


      • #4
        Zitat von Horvi Beitrag anzeigen
        hm, bei der funktion mit den angaben muss doch ein (-) am anfang oder ende stehen... so zumindestens wenn ich es teste!
        Dann testest du etwas falsch! Es darf kein - oder _ am Anfang und Ende stehen, sonst können überall Wort-Zeichen (Buchstaben, Ziffern oder Unterstrich) oder - stehen. Testen kannst du das z.B. hier
        Gruss
        L

        Kommentar


        • #5
          Zitat von lazydog Beitrag anzeigen
          Dann testest du etwas falsch! Es darf kein - oder _ am Anfang und Ende stehen, sonst können überall Wort-Zeichen (Buchstaben, Ziffern oder Unterstrich) oder - stehen. Testen kannst du das z.B. hier
          Hm... irgendwas schein ich dann falsch zu machen. Mein Code würde lauten:

          <?
          $username = "testblubb";

          if(preg_match('/^[a-z0-9][\w-]*[a-z0-9]$/iU', $username)) {
          $errora = "Fehler";
          }

          echo "$errora";
          ?>
          Und wenn man nun den Code ausführt, kommt Fehler! Es kommt kein Fehler wenn - am Anfang oder Ende steht...

          Sorry...

          Kommentar


          • #6
            Zitat von Horvi Beitrag anzeigen
            Hm... irgendwas schein ich dann falsch zu machen.
            Ja, deine Abfrage ist verkehrt, gefunden werden ja die korrekten. Deshalb:
            PHP-Code:
            if(!preg_match('/^[a-z0-9][\w-]*[a-z0-9]$/iU'$username)) {
                
            $errora "Fehler";

            Gruss
            L

            Kommentar


            • #7
              Ähm ich gebe mal deinen Code wieder:

              wenn(alles ok) dann error

              [edit]
              ahh lazy war schneller xD

              Kommentar


              • #8
                *lol* danke, ich bin echt doof und sowas dürfte eigentlich nicht passieren... hab einfach nicht überlegt! Danke!

                Kommentar

                Lädt...
                X