//date validating function check_date( date ) { if ( date.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/) ) { var dd = RegExp.$1; var mm = RegExp.$2; var yy = RegExp.$3; // try to create the same date using Date Object var dt = new Date(parseFloat(yy), parseFloat(mm)-1, parseFloat(dd), 0, 0, 0, 0); // invalid day if ( parseFloat(dd) != dt.getDate() ) { return false; } // invalid month if ( parseFloat(mm)-1 != dt.getMonth() ) { return false; } // invalid year if ( parseFloat(yy) != dt.getFullYear() ) { return false; } // everything fine return true; } else { // not even a proper date return false; } };