代码如下:
//----------------------- //判断日期格式是否正确 //返回值是错误信息, 无错误信息表示合法日期字符串 //by http://www.jb200.com function isDateString(strDate){ var strSeparator = "-"; //日期分隔符 var strDateArray; var intYear; var intMonth; var intDay; var boolLeapYear; var ErrorMsg = ""; //出错信息 strDateArray = strDate.split(strSeparator); //没有判断长度,其实2008-8-8也是合理的//strDate.length != 10 || if(strDateArray.length != 3) { ErrorMsg += "日期格式必须为: yyyy-MM-dd"; return ErrorMsg; } intYear = parseInt(strDateArray[0],10); intMonth = parseInt(strDateArray[1],10); intDay = parseInt(strDateArray[2],10); if(isNaN(intYear)||isNaN(intMonth)||isNaN(intDay)) { ErrorMsg += "日期格式错误: 年月日必须为纯数字"; return ErrorMsg; } if(intMonth>12 || intMonth<1) { ErrorMsg += "日期格式错误: 月份必须介于1和12之间"; return ErrorMsg; } if((intMonth==1||intMonth==3||intMonth==5||intMonth==7 ||intMonth==8||intMonth==10||intMonth==12) &&(intDay>31||intDay<1)) { ErrorMsg += "日期格式错误: 大月的天数必须介于1到31之间"; return ErrorMsg; } if((intMonth==4||intMonth==6||intMonth==9||intMonth==11) &&(intDay>30||intDay<1)) { ErrorMsg += "日期格式错误: 小月的天数必须介于1到31之间"; return ErrorMsg; } if(intMonth==2){ if(intDay < 1) { ErrorMsg += "日期格式错误: 日期必须大于或等于1"; return ErrorMsg; } boolLeapYear = false; if((intYear%100) == 0){ if((intYear%400) == 0) boolLeapYear = true; } else{ if((intYear % 4) == 0) boolLeapYear = true; } if(boolLeapYear){ if(intDay > 29) { ErrorMsg += "日期格式错误: 闰年的2月份天数不能超过29"; return ErrorMsg; } } else { if(intDay > 28) { ErrorMsg += "日期格式错误: 非闰年的2月份天数不能超过28"; return ErrorMsg; } } } return ErrorMsg; }
以上就是本节javascript 教程提供的例子,在javascript编程中对日期的处理还是很常见的,建议大家多多学习与掌握。