-
probleme mit ereg()
hi,
ich würde gern als eingabe nur folgende zeichen zulassen:
a-z A-Z 0-9 ,.-_@*+/#
ich dachte ein:
Code:
if(ereg('[^a-zA-Z0-9_*#@/-\+., ]', $WERT)){
echo "ungueltige zeichen!";
}
geht, aber denkste.
habe ich in WERT z.b. ein "-" sagt er das das ungültig ist.
wo ist mein denkfehler?
der tom
-
hi,
hat soch erledigt, habs jetzt so gelöst:
PHP-Code:
$patterntextfeld = '/^[a-zA-Z0-9 ,.\-_@*+\/\#()]+$/';
if (!preg_match($patterntextfeld,$WERT)){
die("......bla");
}
der tom
-
Das "-" Zeichen mußt du als erstes oder letztes Zeichen nehmen weil es sonst als "von ... bis" interpretiert wird, "*" , "." , "+" sind Sonderzeichen die escaped werden müssen. Das "-" Zeichen könnte auch escaped werden.
if(ereg('[^a-zA-Z0-9_\*#@\+\.,-]', $WERT)){
könnte gehen. Bin aber auch kein Regexp-Spezialist. Auf de2.php.net/manual/de/pcre.pattern.syntax.php sind die Meta-characters aufgeführt.
War wohl irgendwie zu langsam.
Offe