Sonder- und Leerzeichen

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

  • Sonder- und Leerzeichen

    Hallo,

    wie überprüfe ich einen String nach Sonder- und Leerzeichen?

    Bisher habe ich folgenden Befehl:

    if ((eregi("^[a-z0-9_äöüß]+$",$shopname))

    Wenn ich aber $shopname = "Mein-Shop" verwenden möchte, dann erscheint die Meldung, dass Sonderzeichen vorhanden sind. Im Shopnamen dürfen keine Sonderzeichen, ausser - und _ sowie Leerzeichen vorhanden sein. Wie muss ich die obere Anweisung anpassen?


    MFG
    Benji

  • #2
    du negierst die zulässigen Zeichen, also nimmt das ^ in die Klammer rein, denn außerhalb bedeutet: am Anfang bzw. beginnt mit

    Kommentar


    • #3
      Versuch mal :

      '/^([a-z0-9äöü\_\-\ ])+$/i'

      bei meinem registrierungsformular klappt es wunderbar...
      .
      .http://www.Nightkillerz.de
      .

      Kommentar


      • #4
        Unser Tutorial hilft auch weiter!

        Kommentar


        • #5
          Hallo,

          ich habe jetzt die Anweisung

          eregi("/^([a-z0-9äöü\_\-\ ])+$/i",$shopname)

          aber leider hat das mein Problem auch nicht gelöst. Was habe ich falsch gemacht?


          MFG
          Benji

          Kommentar


          • #6
            Original geschrieben von Benji
            Was habe ich falsch gemacht?
            Was ist den die Fehlermeldung? Oder wo liegt denn jetzt noch das problem?

            Meine lösung sieht komplett so aus:
            PHP-Code:
            if(!preg_match('/^([a-z0-9äöü\\_\\-\\ ])+$/i'$_POST['nick'])){
                
            $error .= "Fehler: Der Shopname enthällt ungültige Zeichen!";
                } 
            EDIT:
            backslashes sichtbar gemacht
            Zuletzt geändert von mrhappiness; 25.11.2004, 14:21.
            .
            .http://www.Nightkillerz.de
            .

            Kommentar


            • #7
              Original geschrieben von asp2php
              du negierst die zulässigen Zeichen, also nimmt das ^ in die Klammer rein, denn außerhalb bedeutet: am Anfang bzw. beginnt mit
              einen versuch wäre es wert, meinst du nicht?
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Hallo,

                vielen Dank für die Antwort. Ich habe es jetzt so:

                (!preg_match('/^([a-z0-9äöü_- ])+$/i', $shopname))

                Dabei bekomme ich folgende Fehlermeldung: Warning: Compilation failed: range out of order in character class at offset 14 in /srv/www/htdocs/web46/html/anmeldung2.php on line 90

                Ich kann mir den Fehler nicht erklären.


                MFG
                Benji

                Kommentar


                • #9
                  ich schon, aber ich lese auch handbücher...


                  in die klammer, in, IN, IIINNNN


                  es hat niemand gesagt, dass du neue, runde klammern dazumachen sollst und das ^ ist ja noch nichtmal in den runden klammern
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    wenn dann so : ...-9äöü\_\-\ ])+....

                    bei meinem Letzten Post wurden wohl die backslashes nicht übertragen..
                    .
                    .http://www.Nightkillerz.de
                    .

                    Kommentar

                    Lädt...
                    X