一行js代码校验日期输入正确性

function checkDate(value){

return (new Date(value).getDate()==value.substring(value.length-2));

}

因为js的Date类型的构造器支持 yyyy/MM/dd yyyy-MM-dd 的格式。符合格式的字符串可以直接new为date。不符合格式的字符串new了之后是invalid date 所以会返回false。

但是例如 1999/01/88这种。被new了之后会变成1999/03/xx…. 那个88号 多余的会被加上。所以这种情况用value.substring(value.length-2) 获取最后的日期。与date的getDate()的返回值进行比较是否相同即可。