首先在body里編寫3個運行年月日的三個文本框,並規定其三個文本框的id,和一個運行的按鈕butten,並讓這個按鈕運行(調用,若不調用,函數不會運行)。然后定義函數,
第一步:年月日不能為空,否則輸出:格式輸入有誤或不給他else,也就是不運轉。若不為空執行下一步。
第二步:轉換成小數,再轉換成整數(以免是字符串)若是整數則執行,不是輸出alert格式有誤。
第三步:是正常年份,1-9999,是執行下一步,不是輸出alert年份不在范圍內。
第四步:是正常月份,是執行下一步,不是輸出alert月份有誤
第五步:1.日期是0-31, 2.是0-30天 3.0-29天 4.0-28天
1.0-31若month月分是1.3.5.7.8.10.12執行並輸出alert (“您輸入的日期是”year+“年”+month“月”+day“日”)不是輸出:改約沒有31天,輸入有誤。
2.0-30month是2月份,直接輸出有誤,其他的都有30號這一天,直接輸出。
3.0-29 year是閏年(y%4==0&&y%100!==0||y%400==0)直接輸出,不是有誤,該年的2月份沒有29天
4.是28天的直接輸出,因為每個月都有28號。
代碼如下:



<body>
<input type="number" id="nian" placeholder="請輸入年"/>
<input type="number" id="yue" placeholder="請輸入月份"/>
<input type="number" id="ri" placeholder="請輸入日期"/>
<input type="button" value="查看" onclick="jiancha()"/>
</body>
</html>
<script>
function jiancha()
{
var year=document.getElementById("nian").value;
var month=document.getElementById("yue").value;
var day=document.getElementById("ri").value;
if(year!=""&&month!=""&&day!="")
{
var y=parseFloat(year);
var m=parseFloat(month);
var d=parseFloat(day);
if(y%1==0&&m%1==0&&d%1==0)
{
if(y>0&&y<10000)
{
if(m>0&&m<13)
{
if(d==31)
{
if(m==1||m==3||m==5||m==7||m==8||m==10||m==12)
{
alert("您輸入的日期是:"+y+"年"+m+"月"+d+"日")
}
else
{
alert("日期輸入有誤,該月沒有31天")
}
}
else if(d==30)
{
if(m==2)
{
alert("日期輸入有誤2月份沒有30天")
}
else
{
alert("您輸入的日期是:"+y+"年"+m+"月"+d+"日")
}
}
else if(d==29)
{
if(m==2)
{
if(y%4==0&&y%100!==0||y%400==0)
{
alert("您輸入的日期是:"+y+"閏年"+m+"月"+d+"日")
}
else
{
alert("日期輸入有誤,")
}
}
else
{
alert("您輸入的日期是:"+y+"年"+m+"月"+d+"日")
}
}
else if(day>0&&day<29)
{
alert("您輸入的日期是:"+y+"年"+m+"月"+d+"日")
}
else
{
alert("日期輸入有誤")
}
}
else
{
alert("輸入月份不在范圍內")
}
}
else
{
alert("年份不在范圍內")
}
}
}
}
</script>
