Iam creating a time stamping api that gets date_strings from clients. Resource is GET /api/timestamp/:date_string
and the date string is either a dateString [yyyy-mm-dd] or a unix timestamp in seconds ['2764800000']. I need a way to check whether the passed string is a valid unix time stamp.
Below is my function for validating the supplied date_string
function createDate(date_string) {
const regexp = /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/;
const regexp2 = /^(\d{13})?$/;
let date;
switch (typeof date_string) {
case "string":
if (regexp2.test(date_string)) {
date = new Date(Number(date_string));
}
if (regexp.test(date_string)) {
date = new Date(date_string);
} else {
return console.log("Invalid Date String");
}
break;
case "undefined":
date = new Date();
default:
return console.log("Unknown Date String");
}
return date;
}
Whenever i hit the api with a unix time stamp, it returns undefined i.e GET /api/timestamp/2764800000
. i don't know where the problem is, is it with the RegExpression? I need Help