Abend,
Über http://regular-expressions.info habe ich mir die Grundlagen zu Regular Expressions für mein PHP-Projekt geholt. Der Code funktionert gut, es wird überprüft, ob ein String ein Datum enthält (dabei ist es zu diesem Punkt noch völlig egal, ob der User statt z.B. 01.03.2005 32.99.0001 eingibt, es geht nur um die Formatierung). Eines der eregi()s überprüft nun die deutsche Datumsformatierung:
eregi("[0-9]{2}.[0-9]{2}.[0-9]{4}",$variable)
Dies funktioniert bestens, jetzt sollen aber auch Daten wie
1.2.05
01.2.2005
12.02.04
angenommen werden. Meine Ideen waren folgende:
eregi("[0-9}{(2|1)}.[0-9]{(2|1)}.[0-9]{(4|2)}",$variable)
eregi("[0-9}{2|1}.[0-9]{2|1}.[0-9]{4|2}",$variable)
Beide sind leider falsch. Der erste Code wird von eregi als korrekt verarbeitet, bezeichnet aber eine (mir unbekannte) andere Regel. Wie muss der Code verändert werden, um bei obigen Beispieldaten ein match zu erzielen?
Gruß
Thomas