JSFiddle - React, Tailwind, and code Playground

by thegje

HTML

<input id="mydate" value="12/12/2011"></input>

JavaScript

// date checking by string id

function validateDate(dtControl) {
        var input = document.getElementById(dtControl)
        var validformat = /^\d{1,2}\/\d{1,2}\/\d{4}$/ //Basic check for format validity
        var returnval = false
        if (!validformat.test(input.value))
            alert('Invalid Date Format. Please correct.')
        else { //Detailed check for valid date ranges
            var dayfield = input.value.split("/")[0]
            var monthfield = input.value.split("/")[1]
            var yearfield = input.value.split("/")[2]

            var dayobj = new Date(yearfield, monthfield - 1, dayfield)
            if ((dayobj.getMonth() + 1 != monthfield) || (dayobj.getDate() != dayfield) || (dayobj.getFullYear() != yearfield))
                alert('Invalid Day, Month, or Year range detected. Please correct.')
            else {
                returnval = true;
            }
        }

        if (returnval == false) input.focus()
        return returnval;
    }

$(function() {
            if (validateDate("mydate") === false) {
                alert("Not valid");
            } else {
                alert("Valid!");
            }
});