Mal wieder ein regulärer Ausdruck in PHP

Bastian

Bastian

Aktives Mitglied
Thread Starter
Dabei seit
20.06.2003
Beiträge
533
Reaktionspunkte
10
Hallo zusammen

Ich möchte gerne die Datumseingabe eines Textfelds auf ihre Gültigkeit prüfen. Wollte dies mit einem regulären Ausdruck tun, der mir nun Probleme bereitet.

Das Eingabeformat: TT.MM.JJJJ
Anstelle des Punkts kann auch ein anderes Zeichen stehen.

In PHP halte ich das wie folgt fest:

PHP:
if (preg_match('/[0-3]{2}.[0-9]{2}.[0-9]{4}/', $datum) == 0) {
					
     $data['warnung'] = 'Das Datumsformat wurde nicht erkannt!';
					
} else {

     weiterer Code

Nun wird aber auch die Eingabe 15.07.2008 als ungültig zurückgegeben. Sicherlich stimmt mein regulärer Ausdruck nicht. Kann mir jemand helfen?
 
[0-3]{2} passt nicht auf 15
 
Du kannst den String auch gleich mit date_parse() prüfen. Dann hast Du gleich die Sicherheit dass es sich um ein gültiges Datum handelt.
 
@Darii
Danke, jetzt sehe ich es auch. Lag tatsächlich daran.

@dms
date_parse kannte ich noch nicht. Allerdings nützt es mir hier nicht so viel, da die Daten als Unix-Timestamp gespeichert werden und in der Ausgabe im nicht-englischen Format angezeigt werden. Neben dem regulären Ausdruck prüfe ich nun ein Datum noch mit checkdate(). Danke trotzdem für den Hinweis.
 
Zurück
Oben Unten