If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Enjoy an ad free experience by logging in. Not a member yet? Register.

JavaScript Date Validation

Recently while messing with dates, I noticed an odd quirk in javascript with new Date(), i.e. if someone enters an invalid date, such as 2/29/2003, javascript creates the new date as 3/1/2003.

Having a look around, I couldn't find any scripts that took advantage of this for the sake of date validation... probably someone here has done this before, but I'll post it anyway.

The idea is that if javascript creates a new Date() with a different month, then obviously the date entered is not valid. Most of the scripts I saw used some math to divide by leap year, yadda yadda yadda, but with this feature (?) of javascript, it seems unnecessary.

Right now this code only validates mm/dd/yyyy, but it should be easy to modify to support other formats:

Re: JavaScript Date Validation

Originally, I developed this calendar because I wanted an intuitive and convenient way for users to enter valid dates. To keep it friendly, I allow the user to select year, month and day in any order, and rebuild its internal date accordingly. From March 29, 2003, if you select February, the calendar shows you the 29th day of February 2003 (namely, March 1st!).

Some might call that a bug, but what else should I assume?

Originally posted by whammy Recently while messing with dates, I noticed an odd quirk in javascript with new Date(), i.e. if someone enters an invalid date, such as 2/29/2003, javascript creates the new date as 3/1/2003.

Having a look around, I couldn't find any scripts that took advantage of this for the sake of date validation... probably someone here has done this before, but I'll post it anyway.