JSFiddle - React, Tailwind, and code Playground

HTML

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-1.8.1.js"></script>
   
</head>
    
<body>
   
</body>
</html>

JavaScript

alert(isValidDate(' 2 / 27 / 2012 ') );
alert(isValidDate('2/27/2012') );
alert(isValidDate('3/2 7/2012') );
alert(isValidDate('3/27/2 012') );


function isValidDate(s) 
{
    var bits = s.split('/');
 
    //Javascript month starts at zero
    var d = new Date(bits[2], bits[0] - 1, bits[1]);
 
 
    if ( isNaN( Number(bits[2]) ) ) 
    {
        //Year is not valid number
        return false;
    }
 
    if ( Number(bits[2]) < 1 ) 
    {
        //Year should be greater than zero
        return false;
    }
    
   
    //If there is unwanted blank space, return false
    if  ( ( bits[2].length != $.trim(bits[2]).length ) ||
          ( bits[1].length != $.trim(bits[1]).length ) ||
          ( bits[0].length != $.trim(bits[0]).length ) )
    {
        return false;
    }
 
    
 
    //1. Check whether the year is a Number
    //2. Check whether the date parts are eqaul to original date components
    //3. Check whether d is valid
 
    return d && ( (d.getMonth() + 1) == bits[0]) && (d.getDate() == Number(bits[1]) );
 
}