JSFiddle - React, Tailwind, and code Playground
by cmruser
HTML
<input type="text" />
JavaScript
if (window.performance) {
console.info("window.performance work's fine on this browser");
}
if (performance.navigation.type == 1) {
console.info( "This page is reloaded" );
} else {
console.info( "This page is not reloaded");
}
if (sessionStorage.getItem("is_reloaded")) alert('Reloaded!');
sessionStorage.setItem("is_reloaded", true);
window.onbeforeunload = function(e) {
alert('reload');
};
jQuery(window).bind("unload", function() { console.log('back')});
function format(value) {
// regex yyyy-mm-dd
var regexdate = /^\d{4}\-\d{1,2}\-\d{1,2}$/;
// regex mm-dd-yyyy
var regexdash = /^\d{1,2}\-\d{1,2}\-\d{4}$/;
// regex mm/dd/yyyy
var regexslash = /^\d{1,2}\/\d{1,2}\/\d{4}$/;
// regex /Date(1224043200000)/
var regexjson = /^\/Date\(/;
var date = new Date(value);
if(regexjson.test(value)) {
var pattern = /Date\(([^)]+)\)/;
date = new Date(parseFloat(pattern.exec(value)[1]));
}
var day = ("0" + date.getDate()).slice(-2);
var month = ("0" + (date.getMonth() + 1)).slice(-2);
var year = date.getFullYear();
if(regexdate.test(value) || regexdash.test(value) || regexslash.test(value) || regexjson.test(value)) {
value = month + "/" + day + "/" + year;
} else {
value = '';
}
return value;
}
$('input').on('change', function() {
var val = $(this).val();
var isdate = (new Date(val) !== "Invalid Date") && !isNaN(new Date(val));
var input = $('<input type="date" />');
// if type text or not support date html5
if ($(this).type == "text" || input[0].type == "text") {
// check isdate
if(isdate) {
$(this).val(format(val));
} else {
$(this).val('');
}
}
alert(Date.parse(val));
});