phpbar.de logo

Mailinglisten-Archive

[php] Regex Frage

[php] Regex Frage

Ringo Großer swek at gmx.net
Fre Jan 27 07:52:00 CET 2006


Hallo Dirk,

Dirk Schwarz wrote:
> Ich bin nicht sehr bewandert, was RegEX angeht.

bin ich auch nicht, aber man kommt auf kurz oder lang nicht
an diesem thema vorbei.

> Könnte mir einer
> einen Ausdruck Für folgendes geben:
> Es sollen bei einer Eingabe nur A-Z, a-z, 0-9 . , - und ' zugelassen
> werden!

verwende preg_match und einen der folgenden pattern nach bedarf

/^[A-Za-z0-9\.\,\'\-]+$/
das + steht hierbei für eine pflichteingabe, d.h. der pattern matched
nur, wenn der vergleichsstring mindestens 1 zeichen enthält

/^[A-Za-z0-9\.\,\'\-]*$/
dieser pattern würde auch einen leeren string als zulässig akzeptieren
auf grund des *

alternativ kannst du anstatt + oder * ein {5} einsetzen, wenn du gegen
die genaue länge des strings mit 5 zeichen prüfen möchtest.
oder ein {2,5} wenn der string zwischen 2 und 5 zeichen lang sein darf.

nochmal eine kurze erläuterung, damit du den nächsten pattern selbst
zusammenbauen kannst:
/ wurde gewählt, um den pattern am anfang und am ende zu begrenzen,
kann aber auch jedes beliebige andere zeichen sein, welches möglichst
nicht im pattern selbst vorkommen sollte, da es sonst escaped werden
muss.
^ steht für den anfang des strings
$ ende des strings
zulässige zeichen erscheinen innerhalb von []
die sonderzeichen habe ich alle grundsätzlich mit backslash escaped,
da ich mir nicht sicher bin, welche davon in der pattern syntax verwendet
werden. punkt, komma und minus sind auf jedenfall solche kandidaten.

beachte bitte, dass dieser pattern keine äöü oder ß zulässt. kannst du
ja aber ggf ganz einfach nachtragen.

regards, Ringo 


php::bar PHP Wiki   -   Listenarchive