Umlaute aufdecken

hallo…

ich muss für mein Projekt erausfinden, ob in nem string (username) Umlaute oder andere sonderzeichen vorkommen, also, ob da was anderes als Buchstaben (a-Z) und Zahlen (0-9) und Bindestrich (-) vorkommt.

ich hab schon neweile gesucht, hab aber nichts passendes Gefunden, weiss jmd. von euch, wie ich herausfinde, ob da ein falsches Zeichen drinn ist?

mfg Joey

de.php.net/manual/de/function.strpos.php - Sollte Helfen :wink:
Musst halt die Zeichen in ne Array rein packen … :wink:

if(!preg_match('/^[a-zA-Z0-9\-]+$/', $username)) { //unerlaubte zeichen sind enthalten } else { //alles in ordnung }

@fishi:
strpos ist mir bekannt :wink:

danke euch :smiley:
hmm… i-wie tuts aber nicht…

mfg Joey

Lass mal das ^ und $ bei Balmungs Beispiel weg.

Vielleicht hilft auch dein Code, dann sieht man vielleicht woran der Fehler wirklich liegt.

Das waere bloed - weil dann nur noch irgendwo in der zu durchsuchenden Zeichenkette die geforderten Zeichen vorkommen muessen, und damit “andere” vor/nach einem Treffer ebenfalls durchrutschen koennen.

<?php $username = "abc123-456xyz"; if(!preg_match('/^[a-zA-Z0-9\-]+$/', $username)) { echo "error"; } else { echo "okay"; } ?>

tut einwandfrei bei mir Oo

ah, ja, sorry…
mein fehler hatte nen schreibfehler in der variabel :wink:

mfg Joey