JSFiddle - React, Tailwind, and code Playground

by bryangrimes

HTML

<script src="http://momentjs.com/downloads/moment.min.js"></script>

JavaScript

console.clear();

var a = 9010152;
console.log('sending in a: ' + a);
console.log(doit(a));

var b = '3/2/2017';
console.log('sending in b: ' + b);
console.log(doit(b));

var c = '3/27/2017';
console.log('sending in c: ' + c);
console.log(doit(c));

var d = '2017-03-07T00:00:00';
console.log('sending in d: ' + d);
console.log(doit(d));

var d2 = '2017-04-08T22:37:01.730000';
console.log('sending in d: ' + d2);
console.log(doit(d2));

var d3 = '2017-04-07T00:34:13.097000';
console.log('sending in d: ' + d3);
console.log(doit(d3));

var d4 = '2017-04-09T02:49:54.750000';
console.log('sending in d: ' + d4);
console.log(doit(d4));

var e = '54 S VERNON ST';
console.log('sending in e: ' + e);
console.log(doit(e));

var f = 63948237;
console.log('sending in f: ' + f);
console.log(doit(f));

var g = 12314923700;
console.log('sending in g: ' + g);
console.log(doit(g));

var h = 60246140;
console.log('sending in h: ' + h);
console.log(doit(h));

var i = '11401 BRYANT RD';
console.log('sending in i: ' + i);
console.log(doit(i));


function doit(val){
	if (!moment(val, 'MM/DD/YYYY', true).isValid()) {
  	console.log('not MM/DD/YYYY: ' + val);
  	if(moment(val, 'YYYY-MM-DDTHH:mm:ss', true).isValid() ||
       moment(val, 'YYYY-MM-DDTHH:mm:ss.SSSSS', true).isValid()){
    	console.log('****valid semi-ISO******: ' + val);
    	val = moment(val).format('MMMM D, YYYY');
    }	else {
    	console.log('...but not a valid semi-ISO: ' + val);
    }
  } else {
  	console.log('looks like a MM/DD/YYYY date: ' + val);
  }
  return val
}