[Javascript] Op bestaande datum controleren

Pagina: 1
Acties:
  • 147 views sinds 30-01-2008
  • Reageer

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Momenteel kan ik door mijn gebruikers een datum samenstellen door 3 pulldown boxes: dag - maand - jaar.
Echter is het mogelijk om datums te maken die nooit mogelijk zijn, bijv 31 feb 2003. Februari kent namelijk geen 31 dagen.
Hoe kan ik hierop controleren? Tevens moet er aan schrikkeljaar gedacht worden.
Ik vraag niet om een script, alleen om het idee hoe die op te lossen. Het schrijven van het javascript kan ikzelf wel.

43% of all statistics are worthless


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 11:58

crisp

Devver

Pixelated

Stap 1; check of het opgegeven formaat klopt (dit kan bv met een regexp)
Stap 2; splits de opgegeven string naar jaar, maand en dag
Stap 3; check of de maand klopt (>=1 <=12)
Stap 4; check of de dag 'past' in de opgegeven maand (tip: maak een array met het maximum aantal dagen per maand)
Stap 5; voor 29 februari check of het jaartal een schrikkeljaar is (deelbaar door 4, niet deelbaar door 100 tenzij wel deelbaar door 400)

suc6!

[ Voor 15% gewijzigd door crisp op 28-02-2003 17:24 ]

Intentionally left blank


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Ben je niet zo leergierig en zelf ontdekkend als crisp:

10 secs google werk: http://www.merlyn.demon.co.uk/js-date4.htm

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Thanks crisp en BtM909!
Stap 1 t/m 3 is niet nodig, want in de pulldown staan alleen maar waarders die voor kunnen komen. Ik hoef dus alleen maar combinaties tussen de 3 pulldows te checken.
De link ga ik ook even aandachtig bekijken

43% of all statistics are worthless


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

je kan de 3 waardes in een new Date() gooien. Als je in Js bijvoorbeeld 31 februari opgeeft worden de "rest" dagen automagisch naar de volgende maand gegooid, en dan komt de door de gebruiker opgegeven maand dus niet overeen met de getMonth() van je new Date().

Zo heb je ook meteen een goeie schrikkeljaar check.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin