phpbar.de logo

Mailinglisten-Archive

[php] Datum validieren

[php] Datum validieren

Guido Haeger GH-lists_(at)_ecora.de
Sun, 18 Jun 2000 09:51:45 +0200


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