【JavaScript】查詢某日是星期幾
<SCRIPT LANGUAGE="JavaScript">
<!--
function calculate() {
month = document.form.month.selectedIndex;
month = document.form.month.options[month].value;
day = document.form.day.selectedIndex;
day = document.form.day.options[day].value;
year = document.form.year.value;
//將所選的日期合併 且 轉換成日期格式
var dob = year + "/" + month + "/" + day;
var then = new Date(dob);
//取得 年: 要用getYear()函數, 在此可用 var year=then.getYear();
//取得 月: 要用getMonth()函數, 在此可用 var month=then.getMonth()+1;
//取得 星期幾
var theday = then.getDay()+1;
//取得 日
var date=then.getDate();
var weekday = new Array(6);
weekday[1]="星期日";
weekday[2]="星期一";
weekday[3]="星期二";
weekday[4]="星期三";
weekday[5]="星期四";
weekday[6]="星期五";
weekday[7]="星期六";
//判斷日期合法性,在此用 所選的日與取得之日 做比對
//Ex:2011/6/31 --> 所選的日:31 取得之日:1 (javascript規則)
//Ex:2011/7/31 --> 所選的日:31 取得之日:31
if (day != date) alert("抱歉,日期有問題哦");
else { alert( dob + " 是 " + weekday[theday]); }
}
// -->
</script>
PS: 判斷日期合法性, 可參考 my blog: checkDate函數 使用
if checkDate(年,月,日)== true
{
alert 正確訊息;
}else{
alert 錯誤訊息;
}
部份HTML(參考):
<form name=form>
<table><tr>
<td align=center>西元 <input type=text name=year value="2011" size=4 maxlength=4></td>
<td align=center>
<select name="month">
<option value="" selected>月份
<option value="1">一月
<option value="2">二月
......省略............
<option value="12">十二月
</select>
</td>
<td align=center>
<select name="day">
<option value="" selected>日
<option value="1">01
<option value="2">02
......省略...........
<option value="30">30
<option value="31">31
</select>
</td>
</tr></table><p>
<input type=button value="查詢" onClick="calculate();">
</form>
執行初始畫面:

選擇正確日期:

選擇錯誤日期:

留言
張貼留言