Avatar billede bas Forsker
28. oktober 2001 - 11:03 Der er 9 kommentarer og
1 løsning

Validering af dato

Hej

Jeg skal lave en validering på en dato
fx. 141001.

altså dag, måned og år

Det skal være sådan at dagen ikke må komme over 31, måneden ikke må komme over 12 og året ikke må komme over 2001.

Jeg ved, at man kan bruge en substring, men er ikke klar over syntaksen.

Kan nogen hjælpe ?

På forhånd tak.

/Martin
Avatar billede kanyle Nybegynder
28. oktober 2001 - 11:06 #1
http://www.builder.dk/artikler/article.asp?AID=127
^---denne her er riimelig avanceret men også fooor fed :)

/kanyle
Avatar billede kanyle Nybegynder
28. oktober 2001 - 11:08 #2
(hvis du kan bruge svaret ;) )
Avatar billede bas Forsker
28. oktober 2001 - 11:14 #3
Til Kanyle

Tak for linket.


Kender du måske et andet eksempel, som ikke er så avanceret ?

Jeg vil gerne have noget, hvor man definerer noget med <31, <12 og <01.

Tak.

Hilsen Martin
Avatar billede kanyle Nybegynder
28. oktober 2001 - 11:20 #4
http://www.builder.dk/artikler/article.asp?AID=127

Jeg er ikke helt sikker på det, men prøv ----^

/kanyle
Avatar billede kanyle Nybegynder
28. oktober 2001 - 11:21 #5
Avatar billede jakoba Nybegynder
28. oktober 2001 - 11:29 #6
var inputStreng = \"141001\";  // dine inddata

var dag    = parseInt( inputStreng.substring(0,2), 10 );
var maaned = parseInt( inputStreng.substring(2,4), 10 );
var aar    = parseInt( inputStreng.substring(4,6), 10 );

if ( aar > 1 )      // når du sådan angiver 2-cifret år er det svært
                      // at lave en fornuftig \"for stort årstal\" test.
    aar = aar +1900
else
    aar = aar +2000;

if ( dag < 1 || dag > 31 )
    alert( \"fejl i den indtastede værdi for dag (01..31).\" );

if ( maaned < 1 || maaned > 12 )
    alert( \"fejl i den indtastede værdi for maaned (01..12).\" );


inputStreng.substring( a, b )  læses som fra og med a-ende til men ikke med b-ende bogstav

parseInt ( s, a )  læses som læs streng s som et tal med radix a (10 for titilsystem)

mvh JakobA
Avatar billede bas Forsker
28. oktober 2001 - 12:06 #7
Til Jacoba

Tak for det.

Hvad nu hvis jeg ingen inddata har, altså at feltet er tomt fra starten ?
Avatar billede jakoba Nybegynder
28. oktober 2001 - 12:29 #8

if ( inputStreng.length == 0 )
    alert( \"der skal indtastes noget i feltet.\" ):

if ( ! inputStreng.match( /^\\d{6}$/ ) )
    alert( \"der skal indtastes præcis 6 cifre i feltet.\" );

mvh JakobA
Avatar billede bas Forsker
28. oktober 2001 - 13:16 #9
Til JacobA

Tak. Du har muligvis svaret på mit spørgsmål.
Men Jeg har bare et tomt felt, hvor brugeren skal
indtaste 6 cifre

Således:

De to første cifre må ikke være over 31
De to næste cifre må ikke være over 12
De to sidste cifre må ikke være over 01

Hvordan gør man det ?

på forhånd tak

/Martin
Avatar billede jakoba Nybegynder
28. oktober 2001 - 13:36 #10
Læs kanyles reference og sammenhold den med det jeg har skrevet.
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