Avatar billede Slettet bruger
01. oktober 2008 - 18:40 Der er 9 kommentarer og
1 løsning

Validering af dato

Hej

Jeg har brug for lidt hjælp til at lave et regulært udtryk.

Jeg har en dato i formatet: 19/10/1980

Jeg vil gerne lave følgende kontroller:
De 2 første cifre må indeholde tallene 1-31
De 2 næste cifre må indeholde tallene 1-12
De 4 sidste cifre må indeholde tallene 1950 -> 9999

Nogen der vil hjælpe?
Avatar billede jensgram Nybegynder
02. oktober 2008 - 07:31 #1
§^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/([195-999]\d)$§

... men det er utestet, så jeg ANER ikke, om man kan [195-999]

Lad mig lige teste :)
Avatar billede jensgram Nybegynder
02. oktober 2008 - 07:34 #2
Nej, det kan man ikke!

§^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/(19[5-9]\d|[2-9]\d{3})$§

Nogenlunde testet.
Avatar billede Slettet bruger
02. oktober 2008 - 09:01 #3
Jeg kan ikke helt få det til at virke.

Det skyldes helt sikkert mine manglende evner, idet jeg skal have det til at virke i noget PHP-kode.

Kan du hjælpe?

if (!preg_match("§^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/(19[5-9]\d|[2-9]\d{3})$§", $test)) {
    echo "Not OK<br>";
} else {
    echo "OK<br>";
}

Den fejl jeg får tilbage er: No ending delimiter '§' found in.....
Avatar billede jensgram Nybegynder
02. oktober 2008 - 11:22 #4
Hmm - det var da lidt mærkeligt! Eller; det er det så ikke, da variabler åbenbart godt kan starte med § og ¤ osv.



if (!preg_match('§^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/(19[5-9]\d|[2-9]\d{3})$§', $test)) {
    echo "Not OK<br>";
} else {
    echo "OK<br>";
}


Virker derimod!
Avatar billede jensgram Nybegynder
02. oktober 2008 - 11:23 #5
Eller:

if (!preg_match("@^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/(19[5-9]\d|[2-9]\d{3})$@", $test)) {
    echo "Not OK<br>";
} else {
    echo "OK<br>";
}
Avatar billede roenving Novice
02. oktober 2008 - 13:23 #6
-- er det ikke bare at udelade de omkransende tegn:

if (!preg_match("^([1-9]|[12]\d|3[01])/([1-9]|1[0-2])/(19[5-9]\d|[2-9]\d{3})$", $test)) {

?-)
Avatar billede jensgram Nybegynder
02. oktober 2008 - 13:34 #7
Kan man det?
Avatar billede jensgram Nybegynder
02. oktober 2008 - 13:53 #8
Aftestning viser, at det vil min PHP-installation ihvertfald ikke være med til :)
Avatar billede Slettet bruger
02. oktober 2008 - 15:32 #9
jensgram...> Super, nu virker det. Læg et svar og der er point på vej.
Avatar billede jensgram Nybegynder
02. oktober 2008 - 15:36 #10
Tjek!
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
Kurser inden for grundlæggende programmering

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