js判断时间格式是否有效

/**
 * 判断时间格式是否有效
* 短时间,如 (10:24:06)
* @param  {string} str 需要验证的短时间
* @return {boolean} 返回布尔值
*/
function isTime(str) {
    var a = str.match(/^(d{1,2})(:)?(d{1,2})(d{1,2})$/);
    if (a == null) { return false; }
    if (a[1] >= 24 || a[3] >= 60 || a[4] >= 60) {
        return false
    }
    return true;
}

js验证是否正确的短时间格式

/**
* 短日期,形如 (2019-10-24)
* @param  {string} str 需要验证的短时间
* @return {boolean} 返回布尔值
*/
function strDateTime(str){
    var result = str.match(/^(d{1,4})(-|/)(d{1,2})(d{1,2})$/);
    if (result == null) return false;
    var d = new Date(result[1], result[3] - 1, result[4]);
    return (d.getFullYear() == result[1] && d.getMonth() + 1 == result[3] && d.getDate() == result[4]);
}

js验证是否正确的长时间格式

/**
* 长日期时间,形如 (2019-10-24 10:24:06)
* @param  {string} str 需要验证的长时间
* @return {boolean} 返回布尔值
*/
function strDateTime(str){
    var result = str.match(/^(d{4})(-|/)(d{1,2})(d{1,2}) (d{1,2}):(d{1,2}):(d{1,2})$/);
    if (result == null) return false;
    var d = new Date(result[1], result[3] - 1, result[4], result[5], result[6], result[7]);
    return (d.getFullYear() == result[1] && (d.getMonth() + 1) == result[3] && d.getDate() == result[4] && d.getHours() == result[5] && d.getMinutes() == result[6] && d.getSeconds() == result[7]);
}