Search This Blog

Thursday, February 6, 2014

how to check date is valid or not with leap year

How to check Date is Valid or not with leap year validation


function CheckDate() {
            var Date = $('#<%= ddlDate.ClientID %>').val();
            var Month = $('#<%= ddlMonth.ClientID %>').val();
            var Year = $('#<%= ddlYear.ClientID %>').val();

            if (parseInt(Date) > 0) {
                txtDate = Month + '/' + Date + '/' + Year;
                var currVal = txtDate;
                if (currVal == '') {
                    alert('Invalid Date');
                    return false;
                }

                var rxDatePattern = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/; //Declare Regex
                var dtArray = currVal.match(rxDatePattern); // is format OK?

                if (dtArray == null) {
                    alert('Invalid Date');
                    return false;
                }

                //Date Format is  mm/dd/yyyy format.
                dtMonth = dtArray[1];
                dtDay = dtArray[3];
                dtYear = dtArray[5];

                if (dtMonth < 1 || dtMonth > 12) {
                    alert('Invalid Date');
                    return false;
                }
                else if (dtDay < 1 || dtDay > 31) {
                    alert('Invalid Date');
                    return false;
                }
                else if ((dtMonth == 4 || dtMonth == 6 || dtMonth == 9 || dtMonth == 11) && dtDay == 31) {
                    alert('Invalid Date');
                    return false;
                }
                else if (dtMonth == 2) {
                    var isleap = (dtYear % 4 == 0 && (dtYear % 100 != 0 || dtYear % 400 == 0));
                    if (dtDay > 29 || (dtDay == 29 && !isleap)) {
                        alert('Invalid Date');
                        return false;
                    }
                }
                return true;
            }
            return true;
        }


No comments: