1、利用正则把需要校验的日期的年月日进行分组,得到一个数组
2、利用数组的数据构造一个Date对象,获得Date对象的年、月、日的值
3、把两者的年月日进行比较,都相同为合法,有不同就不合法
function validateDate(str){
var reg = /^(\d+)-(\d{1,2})-(\d{1,2})$/
//年月日分组成数组
var arr = str.match(reg)
// console.log(arr);
if(arr == null) return false
//获得Date对象的年、月、日的值
//该日期是一个合法的日期(比如 日为0,则输出的为上一个月的最后那天)
var d = new Date(arr[1],arr[2]-1,arr[3])
//console.log(d);
if(d.getFullYear() != arr[1]) return false
if(d.getMonth() != arr[2]-1) return false
if(d.getDate() != arr[3]) return false
return '时间合法'
}