Mailinglisten-Archive |
Tim Hildebrandt schrieb > Übrigens: Die Funktion checkdate() mach Probleme, die ich nicht > nachvollziehen kann: Gibt man nämlich anstatt Zahlen z.B. bei der > Jahreszahl Buchstaben ein (also einen Text), kommt dennoch > "True" dabei raus, was meines Erachtens vollkommener Blödsin ist. Hast Du mal ein Beispiel? Bei mir funktioniert checkdate korrekt. Du kannst ein eingegebenes Datum auch weitestgehend per RegExp oder mit einer Kombination aus RegExp und IF-Konstruktionen auf korrekte Syntax und korrekte Wertebereiche prüfen. Damit allerdings zu prüfen, ob z.B. der 29.02.2000 ein korrektes Datum ist, wird sehr aufwendig. z.B.: $reg = "=(^((0?[1-9]{1})|([12]{1}[1-9]{1}))|(3[01]{1}))\.((0?[1-9]{1})|(1[0-2]{ 1}))\.(20[1-9]{2})$="; if(preg_match($reg, $datum)) { echo "Datum OK"; } obige RegExp erwartet ein Jahr zwischen 2000 und 2099 und hat wie bereits beschrieben den Nachteil das auch der 31.02.2000 true liefert. Guido Haeger
php::bar PHP Wiki - Listenarchive