Posted in Javascript onJuly 04, 2011
转载者最起码注明作者和出处!http://www.cnblogs.com/GuominQiu
//--------------------------------------------------------------------------- //判断日期格式是否正确 //返回值是错误信息, 无错误信息即表示合法日期字符串 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 判断日期格式是否正确的实现代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@