04. juni 2001 - 14:10Der er
10 kommentarer og 1 løsning
Validering af dato
Jeg skal validere et felt hvor brugeren skriver en dato. Den skal være skrevet/formateret således eks. 24-12-2001 hvordan tjekker jeg at det er skrevet således?
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
Ups, jeg har vist dummet mig... VBScript funktionen IsDate() returnerer True hvis du kalder den med noget, der kan konverteres til en dato, og ellers False. Hvis du _vil_ have en dato på formen dd-mm-yyyy, kan du bruge den funktion jeg skrev, og bagefter kalde IsDate(), for at se om datoen er gyldig. Hvis du blot vil have en gyldig dato, kan du nøjes med at kalde IsDate().
Denne funktion fungerer som den ovenstående, men tilføjer at dd skal være mellem 1 og 31, at mm skal være mellem 1 og 12, og at det hele er en gyldig dato:
If objRegExp.Test(strDatoStreng) Then intD = CInt(objRegExp.Execute(strDatoStreng)(0).SubMatches(0)) intM = CInt(objRegExp.Execute(strDatoStreng)(0).SubMatches(1)) ValiderDato = intD >= 1 And intD <= 31 And intM >= 1 And intM <= 12 And IsDate(strDatoStreng) Else ValiderDato = False End If
End Function
Bemærk dog, at den kræver en nylig version af VBScript p.g.a. anvendelsen af SubMatches i det regulære udtryk.
If objRegExp.Test(strDatoStreng) Then arrDatoParts = Split(objRegExp.Execute(strDatoStreng)(0).Value, \"-\") intD = arrDatoParts(0) intM = arrDatoParts(1) ValiderDato = intD >= 1 And intD <= 31 And intM >= 1 And intM <= 12 And IsDate(strDatoStreng) Else ValiderDato = False End If
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.