Preg_match Validierung von Sonderzeichen in einem string

Ich möchte, dass nur Buchstaben, zahlen, Leerzeichen, unserscore und Bindestriche.

Bisher dachte ich, dass das preg_match würde die Aufgabe:

if(preg_match('/[^a-z0-9 _]+$/i', $name)) {
$error = "Name may only contain letters, numbers, spaces, \"_\" and \"-\".";
}

Aber ich habe gerade festgestellt, dass spezielle Zeichen innerhalb einer Zeichenfolge, würde kein Fehler erzeugt. Zum Beispiel

Hallo"@£$joe

würde kein Fehler erzeugt. Ist es möglich, ein wenig zu ändern und damit es funktioniert, oder brauche ich eine andere Lösung?

InformationsquelleAutor 2by | 2012-04-16

Schreibe einen Kommentar