Avatar billede hipermedia Nybegynder
08. november 2005 - 22:46 Der er 7 kommentarer og
1 løsning

regular-expression på en dato

Hej,

Jeg er ved at lave en funktion som skal valider en dato(YYYY-MM-DD), jeg har lavet noget, men det virker ikke helt, jeg bruger regular-expression fra regular-expression.info.

----------------------
function validerDato($dato)
{
    if(eregi('(19|20)\d\d([- /.])(0[1-9]|1[012])\2(0[1-9]|[12][0-9]|3[01])',$dato))
    {
        echo 1;
    }
    else
    {
        echo 0;
    }
}
----------------------

På forhånd tak.
Avatar billede nielle Nybegynder
08. november 2005 - 22:53 #1
Prøv dette mønster:

(19|20)\d{2}-(0\d|1[0-2])-([0-2]\d|3[01])
Avatar billede nielle Nybegynder
08. november 2005 - 22:58 #2
Vigtigt med ankre:

^(9|20)\d{2}-(0\d|1[0-2])-([0-2]\d|3[01])$
Avatar billede jaw Nybegynder
08. november 2005 - 22:58 #3
Eller måske:
if(preg_match("/^(19|20)\\d\\d[-|\.][0-1][0-2][-|\.][0-3][0-9]$/", $dato)) {
Avatar billede nielle Nybegynder
08. november 2005 - 23:01 #4
Hvis det ikke er et absolut krav at der skal være ledende 0'er på encifrede datoer, så kan den se sådan her ud:

^(19|20)\d{2}-(0?\d|1[0-2])-(0?\d|[12]\d|3[01])$
Avatar billede hipermedia Nybegynder
08. november 2005 - 23:08 #5
function validerDato($dato)
{
    if(eregi('^(19|20)\d{2}-(0?\d|1[0-2])-(0?\d|[12]\d|3[01])$',$dato))
    {
        echo 1;
    }
    else
    {
        echo 0;
    }
}

echo validerDato("2005-08-26");

----------

den skriver "0"
Avatar billede hipermedia Nybegynder
08. november 2005 - 23:56 #6
nielle: Problemet er løst, tak for hjælpen. Smid et svar ;)
Avatar billede showsource Seniormester
09. november 2005 - 05:58 #7
Er der en bestemt grund for ikke blot bruge checkdate() ?
Avatar billede nielle Nybegynder
09. november 2005 - 06:53 #8
Svar :^)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester