最近需要提供restful API用于提供某时间范围内的数据查询。
即get请求带有startdate 和 enddate这两个参数,所以涉及到需要对日期是否合法进行check
参数形式为:YYYY-MM-DD HH-MM-SS
1 正则表达式
一开始考虑用正则表达式匹配,但发现用正则表达式(check年月日)实现特别复杂,所以就没有采用该方式.
2 使用new Date的error作为判断依据
let test ="2017-12-11 02:08:255";
let test1 = new Date(test);
console.info(test1.toString());
if(test1.toString() === "Invalid Date")
console.info("check success");
因为check字符串的方式不确定是否会带来什么问题,所以该方案暂时保留
3 使用三方模块validator
var validator = require('validator');
var sd1 ="2018-02-13 12:16:10";
console.log(validator.isISO8601(sd1));
该模块还提供check email等方式。所以采用该方案。