其實要排除使用者輸入的日期
最好的方法應該是寫個1到12月再依照每月的大月小月
事先丟到陣列裡去推說使用者輸入的日期是否正確.....
哈!!!當初還沒開始動工先怎作
想說先解決2月的問題再說
所以就先緊急上來問的
謝謝大家的幫助~~~
後來初步想法除的可以用aparrow這招以外
也可以這樣作
if ( ( !( x.match(/\D/) == null ) ) || ( x.length != 8 ) )
{
alert("格式錯誤");
return false;
}
var m = new Array();
m[1] = 31;
m[2] = 28;
m[3] = 31;
m[4] = 30;
m[5] = 31;
m[6] = 30;
m[7] = 31;
m[8] = 31;
m[9] = 30;
m[10] = 31;
m[11] = 30;
m[12] = 31;
xx = parseFloat(x.substring(4,6));
dd = parseFloat(x.substring(6,8));
if ( m[xx] < dd )
alert("日期錯誤");
else
alert("日期正確");
}
checkdate("20090230");
至於eval的作法我是看一本javascript語法
裡面說eval可以拿來把字串轉成數字
我才想到說拿eval來試試看!沒想到沒那麼簡單
後來在看其它網站才發現到要用parseFloat
sparrow你這招很厲害喔!我從沒想到還有這個方法
[ROACH 在 2009-2-28 02:59 PM 作了最後編輯]