JSFiddle - React, Tailwind, and code Playground
HTML
<div id="log"></div>
JavaScript
var tests = [
"bla bla", // false
"14/09/2011", // true
"09/14/2011", // false
"14/9/2011", // false
"1/09/2011", // false
"14/09/11", // false
"14.09.2011", // false
"14/00/2011", // false
"29/02/2011", // false
"14/09/9999", // true
];
function parseDate(str){
var t = str.match(/^(\d{2})\/(\d{2})\/(\d{4})$/);
if(t!==null){
var d=+t[1], m=+t[2], y=+t[3];
var date = new Date(y,m-1,d);
if(date.getFullYear()===y && date.getMonth()===m-1){
return date;
}
}
return null;
}
$.each(tests, function(i,e){
$('#log').append('<p>' + e + ' --> ' + parseDate(e) + '</p>');
});