I needed a quick way to verify that the date the user was entering into an input box was a valid date in a calendar (not 14/50/2013). I created the following function to do so. It only works with mm/dd/yyyy and yyyy-mm-dd but it's easy enough to extend for others.

function isValidDate(date){
    var year = 0;
    var month = 0;
    var day = 0;

    var match = date.match(/(\d{2})\/(\d{2})\/(\d{4})/);
    if(match != null){
        month = match[1];
        day = match[2];
        year = match[3];
    }

    var match = date.match(/(\d{4})-(\d{2})-(\d{2})/);
    if(match != null){
        year = match[1];
        month = match[2];
        day = match[3];
    }

    month -= 1;
    var testDate= new Date(year,month,day,0,0,0,0);

    if (testDate.getFullYear() != year){
        return false;
    }

    if(testDate.getMonth() != month){
        return false;
    } 

    if(testDate.getDate() != day){
        return false;
    }

    return true;
}