Room of a pleinolijf

Ask yourself this: how do I want to be remembered ?

JavaScript Check on Valid Date

10 Comments

Whenever I have this combination of three DropDownLists to receive a date for input, I use this little script to validate whether the given date is an actual date or not. You know: preventing the user inputting 30 February or something like that.

I knicked it from some site or other, but I can’t remember where exactly, so if you recognize this script and believe I should give you credit, just let me know and I’ll fix things up.

function isDate(dateStr) {
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
var matchArray = dateStr.match(datePat); // is the format ok?

if (matchArray == null) {
alert(“Please enter your birth date as dd/mm/yyyy. Your current selection reads: ” + dateStr);
return false;
}

day = matchArray[1]; // p@rse date into variables
month = matchArray[3];
year = matchArray[5];

if (month < 1 || month > 12) { // check month range
alert(“Month must be between 1 and 12.”);
return false;
}

if (day < 1 || day > 31) {
alert(“Day must be between 1 and 31.”);
return false;
}

if ((month==4 || month==6 || month==9 || month==11) && day==31) {
alert(“Month “+month+” doesn`t have 31 days!”);
return false;
}

if (month == 2) { // check for february 29th
var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
if (day > 29 || (day==29 && !isleap)) {
alert(“February ” + year + ” doesn`t have ” + day + ” days!”);
return false;
}
}
return true; // date is valid
}

function checkForValidDate(){
var ddlVMonth = document.getElementById(“_ctl0_DropDownListMaanden”);
var ddlVDay = document.getElementById(“_ctl0_DropDownListDagen”);
var ddlVYear = document.getElementById(“_ctl0_DropDownListJaren”);

if (!isDate(ddlVDay.value + ‘/’ + ddlVMonth.value + ‘/’ + ddlVYear.value))
{ return(false); }

return(true);
}

TechnoratiTechnorati Tags: ,

Advertisements

Author: pleinolijf

father | volleyballer | software engineer

10 thoughts on “JavaScript Check on Valid Date

  1. cool!

    Like

  2. Wow ! Super elegant script ! Thanks a lot ! I love simple and working scripts !!

    Like

  3. Thanks a lot, it helped me greatly ….

    Like

  4. Thx a lot. It help me much ^_^

    Like

  5. Thanks Buddy

    Like

  6. Thanks a lot! 🙂

    Like

  7. Great Code

    Like

  8. Sweet. Thanks for that. One thing more for the snippets folder! Keep up the good Work!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s