// Checks a string to see if it in a valid date format // of (D)D/(M)M/(YY)YY and returns true/false // http://www.qodo.co.uk/blog/javascript-checking-if-a-date-is-valid/ function isValidDate(s) { // format D(D)/M(M)/(YY)YY var dateFormat = /^\d{1,4}[\.|\/|-]\d{1,2}[\.|\/|-]\d{1,4}$/; if (dateFormat.test(s)) { // remove any leading zeros from date values s = s.replace(/0*(\d*)/gi,"$1"); var dateArray = s.split(/[\.|\/|-]/); // correct month value dateArray[1] = dateArray[1]-1; // correct year value if (dateArray[2].length<4) { // correct year value dateArray[2] = (parseInt(dateArray[2]) < 50) ? 2000 + parseInt(dateArray[2]) : 1900 + parseInt(dateArray[2]); } var testDate = new Date(dateArray[2], dateArray[1], dateArray[0]); if (testDate.getDate()!=dateArray[0] || testDate.getMonth()!=dateArray[1] || testDate.getFullYear()!=dateArray[2]) { return false; } else { return true; } } else { return false; } }