一般来说,所有的代码都有bug,包括下面这段:<SCRIPT LANGUAGE="JavaScript">
<!--
function String.prototype.getTimePart(mask,subMask){
return parseInt(this.substr(mask.indexOf(subMask),subMask.length));
}
function checkDate(st,mask){
var yyyy=st.getTimePart(mask,"yyyy");
var MM=st.getTimePart(mask,"MM")-1;
var dd=st.getTimePart(mask,"dd");
var hh=st.getTimePart(mask,"hh");
var mm=st.getTimePart(mask,"mm");
var ss=st.getTimePart(mask,"ss");
with (new Date(yyyy,MM,dd,hh,mm,ss))
return (getFullYear()==yyyy && getMonth()==MM && getDate()==dd && getHours()==hh && getMinutes()==mm && getSeconds()==ss)
}var st="2003-05-04 23:07:59";
var mask="yyyy-MM-dd hh:mm:ss";
if (!checkDate(st,mask))
alert(st+" is uncorrect date format");
else 
alert(st+" is correct date format");var st="2003-05-32 23:07:59";
var mask="yyyy-MM-dd hh:mm:ss";
if (!checkDate(st,mask))
alert(st+" is uncorrect date format");
else 
alert(st+" is correct date format");
//-->
</SCRIPT>

解决方案 »

  1.   

    其实把hyee(慧风)的完善一下就行了。<script>
    var sDate='2003-05-04 23:07:59'
    var t=new Date(sDate.replace(/\-/g,"/"))
    var ar = sDate.split(/[-/ :]/)
    var k = false;
    if(ar[0] != t.getYear() || ar[1] != t.getMonth()+1 || ar[2] != t.getDate())
      k = true;
    if(isNaN(t) || k)
     alert("错误的日期格式!")</script>
      

  2.   

    xuzuning(唠叨) 说的对,呵呵。
      

  3.   

    我自己在hyee(慧风)的基础下改了个,可以用,不过负责点。.