benutzername prüfen (PHP)

VIPbanner_de

www.VIPbanner.de
ID: 72674
L
1 Mai 2006
2.598
150
hallo, ich versuche grad einen Benutzernamen auf bestimmt ezeichen zu prüfen, klammt aber nicht, da ich anscheinend einen fehlerhaften code hab:

PHP:
if (preg_match("/^[ 0-9A-Za-z-_]+$/i",$username)) { 
     die("<p class=\"inputbutton\"><br>Geben Sie bitte einen gültigen Usernamen an. Es sind nur <font color='#FF3300'><b>Buchstaben</b></font> und <font color='#FF3300'><b>Zahlen</b></font> und folgende Sonderzeichen erlaubt: <b><font color='#FF3300'>- _</font></b><br><br>
    <a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
       «« zurück   </A><br><br></p>");}

Es soll geprüft werden das nur buchstaben (a-z und A-Z), Zahlen (0-9) und Sonderzeichen (-_) verwendet wurden.
 
Du musst das preg_match negieren ;)
Senn es ist true wenn der Wert mit dem Regulären Ausdruck übereinstimmt.
 
also so?

PHP:
if (!preg_match("/^[ 0-9a-za-z-_]+$/i",$username)) { 
     die("<p class=\"inputbutton\"><br>Geben Sie bitte einen gültigen Usernamen an. Es sind nur <font color='#FF3300'><b>Buchstaben</b></font> und <font color='#FF3300'><b>Zahlen</b></font> und folgende Sonderzeichen erlaubt: <b><font color='#FF3300'>- _</font></b><br><br>
    <a href=\"javascript:history.go(-1);\" class=\"inputbutton\">
       «« zurück   </A><br><br></p>");}
 
Zuletzt bearbeitet:
ich denke mit einer einfachen if-Abfrage sollte das auch funktionieren (also das preg_match in die if-Abfrage)