Prüfen ob ein String ein korrektes Datum ist
Hallo, ich habe in meiner DB ein Textfeld in welches ein Termin eingetragen wird.
Da der Termin auch ein String sein kann (z.B. "2.KW" oder "sofort"....), würde ich gerne prüfen
ob eine korrekte Datumseingabe als String gemacht wurde und diese dann als Datum weiter verarbeiten.
8 Antworten
-
Hi Ralf. Für ein Format DD.MM.YYYY geht
testx(Text, "\d{2}\.\d{2}\.\d{4}")
Falls die Formate weniger streng sind, wie bei 1.5.24, dann müßte die Version etwas aufgeweicht werden
testx(Text, "\d{1,2}\.\d{1,2}\.\d{2,4}")
Mirko
-
Okay. Vielleicht versuchts Du es so? Prüft auf isZahl, Länge der Item und Plausibilität für Tag und Monat. Mirko
let splitter := split(TEXT, "."); let result := for i in splitter do number(i) end; cnt(result[!= 0]) = 3 and testx(Text, "^\d{1,2}\.\d{1,2}\.\d{2,4}") and item(splitter, 0) < 32 and item(splitter, 1) < 13
-
Auch wenn es schon älter ist - hier eine sichere Funktion, die einen String validiert auf ein korrektes Datum im Format "DD.MM.YYYY".
Die Datumsrange in der Funktion kann natürlich noch weiter eingeschränkt, oder erweitert werden. Ich habe sie bewußt weit gefasst. Im Tab1 ist die Warnung mit unnötiger, aber lustiger Formatierung per CSS, im Tab2 wird ein Warnzeichen generiert. Mirko
Content aside
- vor 4 MonatenZuletzt aktiv
- 8Antworten
- 65Ansichten
-
3
Folge bereits