$(document).ready(function () { $("#cmdPrintLeaveRequest").click(function (event) { if (document.getElementById("LeaveRequest1_gridDay_txtLeaveDate_0")){ if (!isValidDate(document.getElementById("LeaveRequest1_gridDay_txtLeaveDate_0").value)) { alert("Enter a date using MM/DD/YYYY format"); var uName = document.getElementById("LeaveRequest1_gridDay_txtLeaveDate_0"); uName.focus(); event.preventDefault(); } } }); function isValidDate(dateString) { // First check for the pattern if (!/^\d{2}\/\d{2}\/\d{4}$/.test(dateString)) return false; // Parse the date parts to integers var parts = dateString.split("/"); var day = parseInt(parts[1], 10); var month = parseInt(parts[0], 10); var year = parseInt(parts[2], 10); // Check the ranges of month and year if (year < 1000 || year > 3000 || month == 0 || month > 12) return false; var monthLength = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; // Adjust for leap years if (year % 400 == 0 || (year % 100 != 0 && year % 4 == 0)) monthLength[1] = 29; // Check the range of the day return day > 0 && day <= monthLength[month - 1]; }; });
That is correct.