Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Username auf Sonderzeichen prüfen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Username auf Sonderzeichen prüfen


 
Saldor
03-11-2004, 11:13 
 
Hallo zusammen,
ich habe eine kleine Frage zum Prüfen von Sonderzeichen in PHP.

In wie weit muss ich den u.s. Code abändern, damit die Variable geprüft wird, dass keine Sonderzeichen enthalten sind? Das einzige was als Name zulässig sind sind folgende Zeichen:

A-Z, a-z, 0-9, -, _

(eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,3}$", $username))

Wie kann ich also die Variable $username so prüfen, dass keine Sonderzeichen, außer o.g. drin stehen??

Ich würde mich über Eure Hilfe sehr freuen.

Viele Grüße & Danke.
Saldor

 
mrhappiness
03-11-2004, 11:21 
 
du versuchst mittels preg_match rauszufinden, ob was anderes als die erlaubten zeichen drinstehen

preg_match('%[^erlaubte zeichen]%', $username)


so wie's aussieht suchst du aber eine validierung von mail-adressen und da würde ich dir die suchfunktion doch wärmstens ans herz legen

 
Saldor
03-11-2004, 11:26 
 
Hallo mrhappiness,
nein die Prüfung mit den E-Mail-Adressen habe ich schon "geschafft" ;) Ich dachte, dass man bei dem Username genau so prüfen kann.

Wie ist denn die Ausgabe der Funktion? Ich denke, dass ich die einfach mit einer IF-Abfrage dann abprüfen kann, oder? Trenne ich die erlaubten Zeichen auch mit Kommas? Also so wie folgt:

if(preg_match('%[A-Z, a-z, 0-9, -, _]%', $username) = TRUE){
echo "alles okay";
}else{
echo "nix da!"
}



??? ;)
Viele Grüße
Saldor

 
mrhappiness
03-11-2004, 11:30 
 
dein test ist für die füße
wenn ich [u]tr%='Äa{/u] als name eingebe, dann würde das ding true zurückliefern, wenn es syntaktisch richtig wäre, da ich ja auch gültige zeichen drin habe

wenn du wissen willst ob nur gültige zeichen enthalten sind, dann musst du prüfen ob ungültige zeichen gefunden werden und wenn das nicht der fall ist, ist die welt in ordnung


du hast das "dächelchen" ^ vergessen ;-)

und es reicht völlig, wenn du %[^A-Z0-9-_]%i schreibst

und jetzt geh nachlesen, was das alles bedeutet und sag's mir.

gibt hier ein tutorial dazu und natürlich das handbuch auf php.net


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:38 Uhr.