Date Fix Regex
by 2Yootz
HTML
<div id="output"></div>
JavaScript
var arr = [
"Oct 06, 03:35 PM",
"Oct 6, 03:35 PM",
"Oct 6, 3:35 PM",
"Oct6, 03:35 PM",
"Oct 06, 03:35PM",
"Oct 06, 3pm",
"Oct 06, 3 PM",
"Oct 6 , 3:35 PM",
"Oct 06 03:35 PM",
"Oc",
"oct 6",
"oct 06 10",
"oct 6, 9",
"nov 19 5:32",
"chadillacman 99",
"May i kiss you?", ""];
//var arr = ["Oct 06, 03:35 PM"];
for (var i in arr) {
$("#output").append('<div>' + fix(arr[i]) + '</div>');
}
function fix(val) {
val = val.replace(/^([JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC]{1,3})(\s+)?([0-9]{1,2})?(\s*)(,*)(\s*)([0-9]{1,2})?(:*)([0-9]{1,2})?(\s*)([AM|PM]{2})?/ig,
function (match, month, space1, day, space2, comma, space3, hour, colon, minute, space4, ampm) {
var result = '';
if (month != null) {
result += month.toUpperCase();
}
if (day != null) {
result += ' ' + (day.length == 2 ? day : '0' + day);
}
if (hour != null) {
result += ', ' + (hour.length == 2 ? hour : '0' + hour);
}
if (minute != null) {
result += ':' + (minute.length == 2 ? minute : '0' + minute)
} else {
if ((hour != null) && (ampm != null)) {
result += ':00';
}
}
if (ampm != null) {
result += ' ' + ampm.toUpperCase();
}
return result;
});
return val;
}