dedlfix: Datum Überprüfen auf ECHTHEIT

Beitrag lesen

Hi!

Nunja, man kann ja einen Regulären Ausdruck für die Findung der Bestandteile verwenden
Man könnte. Sollte man?

Ja, weil das Auseinandernehmen mit Stringfunktionen aufwendiger ist, wenn man sich nicht auf ein einziges Format (genauer gesagt: Trennzeichen zwischen den Bestandteilen) beschränken will.

Eingaben nach dem Format t.m.j kann man mit explode() trennen lassen, sollte dann aber die Bestandteile in einem Array fangen und dieses auf die Länge 3 testen. Die Verwendung von strptime() ist nicht wirklich besser, weil auch damit ein checkdate() notwendig ist und das Trennzeichen fest vorgegeben ist.

Die Beschränkung auf den Punkt bringt aber eine eingeschränkte Benutzerfreundlichkeit mit. Wenn man <del>Kein Martin</del><ins>Schnelltipper auf dem Ziffernblock</ins> ist, hemmt es die Geschwindigkeit, wenn man für den Punkt rüber zum Haupttastaturfeld wechseln muss und wieder zurück. Auch das Hinzunehmen der zweiten Hand ist keine ideale Lösung. Besser wäre es, wenn man irgendein Trennzeichen verwenden kann. Und dafür macht sich ein Regexp besser als ein explode() oder strptime() oder selbst geschriebener Parser mit einfachen Stringfunktionen. Die Reihenfolge der Bestandteile muss allerdings weiterhin vorgegeben sein, um Aufwand und Fehlerquote beim Erraten nicht zu hoch werden zu lassen. (Vorstehende Ausführungen beziehen sich auf eine einzelne Anordnungsweise. Für Anwendungen, die mehrere Anordnungen unterstützen sollen, muss man sich noch entsprechenden Aufwand fürs Umsortieren einbauen, aber das kann einem auch keine einzelne RegExp-Lösung abnehmen.)

Lo!