Features:
JavaScript Function:
- Date format: MM/DD/YYYY
- Text box control values can be validated as correct date
- Month can be entered compulsory with two digits either 0 or 1 as first digit. So possible invalid entries are from 13 to 19.
- Date can be entered compulsory with two digits either 0,1,2 or 3 as first digit. So possible invalid entries are from 32 to 39.
- Entry will be validated on blur event. In case of invalid date then blank TextBox.
- It will also validate for Leap years for Feb month. Also, it will validate 31 date for April, June, Sep & Nov months.
JavaScript Function:
function isDate(txtDate) { var currVal = txtDate.val(); if (currVal == '') { txtDate.val(''); return false; } //Declare Regex var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/; var dtArray = currVal.match(rxDatePattern); // is format OK? if (dtArray == null) { txtDate.val(''); return false; } //Checks for mm/dd/yyyy format. dtMonth = dtArray[1]; dtDay = dtArray[3]; dtYear = dtArray[5]; if (dtMonth < 1 || dtMonth > 12) { txtDate.val(''); return false; } else if (dtDay < 1 || dtDay > 31) { txtDate.val(''); return false; } else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31) { txtDate.val(''); return false; } else if (dtMonth == 2) { var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0)); if (dtDay > 29 || (dtDay == 29 && !isleap)) { txtDate.val(''); return false; } } return true; }