<script>
// 思路:
// 1 判断年 1000 - 3000 能被1整除
// 2 判断月 1 - 12 能被1整除
// 3 日期 1 - maxDay 能被1整除
var oYear = document.getElementById('inp1');
var oMonth = document.getElementById('inp2');
var oDay = document.getElementById('inp3');
var oBtn = document.getElementById('btn');
var oRes = document.getElementById('res');
oBtn.onclick = function () {
var y = oYear.value;
var m = oMonth.value;
var d = oDay.value;
// var res = oRes.value ;
// 存储判断的结果
var str = '';
// 判断年
if (y >= 1000 && y <= 3000 && y % 1 == 0) {
str += '年合法,'
}
else {
str += '年不合法,'
}
// 判断月
if (m >= 1 && m <= 12 && m % 1 == 0) {
str += '月合法,'
}
else {
str += '月不合法,'
}
// 判断日期
var maxDay = 31 ;
if(m == 4 || m == 6 || m == 9 || m == 11) {
maxDay = 30 ;
}
if(m == 2) {
maxDay = 28 ;
if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0){
maxDay = 29 ;
}
// else {
// maxDay = 28
// }
}
if (d >= 1 && d <= maxDay && d % 1 == 0) {
str += '日期合法'
}
else {
str += '日期不合法'
}
oRes.value = str;
}
</script>
计算天数(全年的第几天)
<script>
var y = 2000 ;
var mon = 12 ;
var day = 31 ;
var total = 0 ;
var erDay = 28 ;
if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0) {
erDay = 29
}
switch(m) {
case 12 :
total += 30 ;
case 11 :
total += 31 ;
case 10 :
total += 30 ;
case 9 :
total += 31 ;
case 8 :
total += 31 ;
case 7 :
total += 30 ;
case 6 :
total += 31 ;
case 5 :
total += 30 ;
case 4 :
total += 31 ;
case 3 :
total += erDay ;
case 2 :
total += 31 ;
case 1 :
total += day ;
}
</script>