当前位置: 移动技术网 > IT编程>开发语言>JavaScript > JavaScript 判断日期格式是否正确的实现代码

JavaScript 判断日期格式是否正确的实现代码

2019年07月19日  | 移动技术网IT编程  | 我要评论

阿发祥,北回归线的别称,vogue下载

转载者最起码注明作者和出处!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;
}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网