Hi!
if (!eregi('([0-9]{2}).([0-9]{2}).([0-9]{2,4})', $geb)){
echo ("<font color='red'>Bitte geben Sie das Geburtsdatum nach folgendem Muster ein TT.MM.JJJJ oder TT.MM.JJ!<br> Die Eingabe von <b>$geb</b> ist nicht korrekt.</font><br>");}Meiner Meinung nach sollten jetzt nur die Eingaben TT.MM.JJJJ und TT.MM.JJJJ erlauben...wenn ich es aber teste geht auch TT.MM.JJJJJ :-(
Du fragst ja auch nur, ob "TT[irgendein Zeichen]MM[irgendein Zeichen]JJJJ" im Such-String enthalten ist. Und das trifft auf "TT.MM.JJJJJ" wohl zu. Es würde übrigens auch "asdjklasdaTTxMMyJJJJasdasd" zutreffen.
An Deiner Stelle würde ich lieber die Perl-kompatiblen Funktionen (PCRE) nehmen, in diesem Fall wohl preg_match().
Und dann vielleicht mal in die Sytax einlesen:
http://de.selfhtml.org/perl/sprache/regexpr.htm
http://de3.php.net/manual/de/reference.pcre.pattern.syntax.php
Du solltest Dich informieren, wozu die Sonderzeichen ^ und $ gut sind, und welche besondere Bedeutung der "." hat, und wie man das verhindert (Stichwort "Maskierung").
Grüße
Andreas
SELFHTML Tipps & Tricks: http://aktuell.de.selfhtml.org/tippstricks/