Uk format Date test

Tests a given string to see whether it matches the given format dd/mm/yyyy

by jamessouth

JavaScript

var isValidDate = function (value) {
                    /// <summary>
                    ///    Adds a custom rule to ensure the input is in the format dd/mm/yyyy.
                    /// </summary>

                    var isValid = false,
                        rDate = /^\d{1,2}\/\d{1,2}\/\d{4}$/;

                    if (rDate.test(value)) {
                        var splitDate = value.split("/"),
                            dd = parseInt(splitDate[0], 10),
                            mm = parseInt(splitDate[1], 10),
                            yyyy = parseInt(splitDate[2], 10),
                            date = new Date(yyyy, mm -1, dd);
                        
                        if ((date.getFullYear() === yyyy) && (date.getMonth() === mm -1) && (date.getDate() === dd)) {
                            isValid = true;
                        }
                    }

                    return isValid;

                };
console.log(isValidDate("01/12/2012")); // true
console.log(isValidDate("01/13/2012")); // false
console.log(isValidDate("31/06/2012")); // false
console.log(isValidDate("29/02/2012")); // true
console.log(isValidDate("29/02/2013")); // false