javascript计算日期、代码写好了 但是有问题。

来源:百度知道 编辑:UC知道 时间:2024/06/06 03:25:31
在判断输入日期是否正确那有问题、漏洞。

帮忙修改下!

<script language="javascript" type="text/javascript">
var mouth,day,year,date,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12;
mouth=4;
date=29;
year=2008;
day=0;
x1=x3=x5=x7=x8=x10=x12=31;
x4=x6=x9=x11=30;

x2=28;
if(year%400==0||year%100!=0&&year%4==0){
x2=29
}
else{
x=28
}

if((1>mouth||mouth>12)||(year<0)||((1>date||date>30)||(mouth=4||6||9||11))||((1>date||date>31)||(mouth=1||3||5||7||8||10||12))||((x2=28&&date>=28)||(x2=29&&date>=29))){
document.write("您的输入有误,请输入正确日期!")
}
else{ switch(mouth){
case 1:day;break;
case 2:day+=x1;break;
case 3:day+=x1+x2;break;
case 4:day+=x1+x2+x3;break;
case 5:day+=x1+x2+x3+x4;break;
case 6:day+=x1+x2+x3+x4+x5;break;
case 7:day+=x1+x2+x3+x4+x

修改为

if((1>mouth||mouth>12)||(year<0)||((1>date||date>30)&&(mouth=4||6||9||11))||((1>date||date>31)&&(mouth=1||3||5||7||8||10||12))||((x2==28)&&(mouth==2)&&(date>28))||((x2==29)&&(mouth==2)&&(date>29))){
document.write("您的输入有误,请输入正确日期!")
}