Mailinglisten-Archive |
moin uwe,
Uwe Cornelly <cornelly_(at)_heidenheim.com> schrieb:
> Schon richtig, es wird nur auf Buchstaben geprueft. Speziell für
> Telefonnummern
> meiner Meinung nach ganz gut, denn wie oft wird die Nummer mal mit einem -
> oder
> mit einem / eingegeben.
Ja, willst Du denn, dass eine Telefonnummer so aussieht:
%%§$"!!-Ä#_(at)_Ä?
Wahrscheinlich nicht.
Dann doch vielleicht lieber so, dass Du nach "wahrscheinlichen"
Telefonnummer-Zeichen filterst: -/()0-9 wuerde ich mal sagen...
Also, regex-maschine anschmeissen und: (sorry, ich muss preg_match nehmen,
mit dem anderen Mist komme ich irgendwie nicht so ganz klar)
$PHONE = "(0451) / 39203-00"; ## ist gueltig
if (! preg_match("/^ # von anfang an
[0-9 # zahlen ..
\- # bindestriche ..
\(\) # klammern ..
\/ # schrägstriche ..
\s # und whitespaces .. sind ok
]+ # mindestens einmal
$ # bis zum Ende, sprich:
# NUR die zeichen dürfen vorkommen
/x", $PHONE)) {
print "error in $PHONE!";
}
das Überprüfen von $PHONE == '' kannst Du dir sparen, indem Du bei der
regular expression das "+" verwendest (s.o.)
> Fuer bessere Loesungen bin ich jederzeit offen. :-)
Die obige Klammer kannst Du natuerlich nach Belieben erweitern.
hth,
oliver
php::bar PHP Wiki - Listenarchive