这是从网站获取的源文件,自己分析一下吧,I hava no time!:-(
//////////DateDemo.htm
<html><head>
<meta http-equiv=Content-Type content="text/html; charset=gb2312">
<meta name=Generator content="Microsoft FrontPage 4.0"><!-- Begin JavaScript WWW -->
<script language="JavaScript" src="js/showDate.js"></script>
<script language="JavaScript" src="js/formsubmit.js"></script>
<script language="JavaScript" src="js/formcheck.js"></script>
<link rel="stylesheet" href="css/huiji.css" type="text/css"><!-- End JavaScript -->
<script language="JavaScript1.2">
document.write("<span id='write'></span>")
submitted=true;function checkCxkl(srcForm){
    if (isNumber("CXKL", "查询密码", 1)) return false;
    if (isNumber("CXKL1", "查询确认密码", 1)) return false;
if (checkstringcount(srcForm.CXKL.value)<4)
{
alert("[查询密码}不能小于4位!");
srcForm.CXKL.focus();
return false;
}
if (srcForm.CXKL.value!=srcForm.CXKL1.value)
{
alert("[查询密码] 与 [再输入一次密码] 不符!");
srcForm.CXKL.value="";
srcForm.CXKL1.value=""
srcForm.CXKL.focus();
return false;
}        return true;
}function findData(){
if (checkSubmit()) return false;
findData1();
}function sFeatures111()
{
        var strXy,nLeft=300,nTop=200;
        nLeft=window.screenX/2;
        nTop=window.screenY/2;
        strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:30;dialogHeight:20;status:no;help:no;edge:sunken';
        return(strXy);
}function findData1(){
var strT=input19.RYDJQK_ID.value;
    if (!showModalDialog('cyzg/dj_denji_find.jsp',input19,sFeatures111())){
return false;
input19.RYDJQK_ID.value=strT;
} if (isNumber("RYDJQK_ID","申请受理号",1,1,20)){
input19.RYDJQK_ID.value=strT;
findData1();
return false;
}
frmaction('2','1','6',input19,window.parent.main.data.input1);
//        formCheck1( '2','1','1',window.parent.main.input19,window.parent.main.data.input1);
    submitted=true;
}
</script></head>
<body>   <table width="180" bgcolor="#ECE397" height="30" border="0" cellpadding="0" cellspacing="0">
<tr>
<td align="right">出生年月日:</td>
<td ><INPUT type="text" class=input1  maxlength=10 style="width:60%" name="CSNY" value="" title="出生年月日"  onBlur="date01(this);" >
<IMG align=absMiddle alt="date picker" id=divCSNY9Pos name=divCSNY9Pos border=0 height=19 onmouseup="showModalDialog(DatePath,CSNY,sFeatures())" src="images/picker.gif" width=19>
<DIV id="divCSNY9" style="POSITION: absolute"></DIV>
</td>
</tr>
   </table>
</body>
</html>
////////// js/showDate.js
/* author: Sponge Uk - TNT[CraCK!TEaM] */
/* Creation date: 2002-02-06 */
var DatePath='js/inputdate.htm';
var DatePath1='js/inputgonghuodanwei.htm'; function showDate(obj)
{
showModalDialog(DatePath,obj,sFeatures());
} function sFeatures()
{
var strXy,nLeft=0,nTop=0;
nLeft=window.event.screenX;
nTop=window.event.screenY;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:13;dialogHeight:14.5;scroll:no;status:no;help:no;edge:sunken';
return(strXy);
}
function sFeatures1()
{
var strXy,nLeft=300,nTop=200;
nLeft=window.screenX/2;
nTop=window.screenY/2;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:40;dialogHeight:31;status:no;help:no;edge:sunken';
return(strXy);
} function sFeatures2()
{
var strXy,nLeft=300,nTop=200;
nLeft=window.screenX/2;
nTop=window.screenY/2;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:45;dialogHeight:40;status:no;help:no;edge:sunken';
return(strXy);
} function sFeaturesFile()
{
var strXy,nLeft=300,nTop=200;
nLeft=window.screenX/2;
nTop=window.screenY/2;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:55;dialogHeight:36;status:no;help:no;edge:sunken';
return(strXy);
} function sFeaturesPrint()
{
var strXy,nLeft=300,nTop=200;
nLeft=0;
nTop=0;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:'+screen.width+';dialogHeight:'+(screen.height)+';status:no;help:no;';
return(strXy);
} function sFeaturesZgzSQ()
{
var strXy,nLeft=300,nTop=200;
nLeft=window.screenX/2;
nTop=window.screenY/2;
strXy= 'dialogTop:'+(nTop)+';dialogLeft:'+(nLeft)+';dialogWidth:52;dialogHeight:40;status:no;help:no;edge:sunken';
return(strXy);
}
function dateAdd01(obj){
//在日期后面加上 01.
if (!obj) return false;
var strTemp=trimLine(obj.value);
if (strTemp.length==6)
strTemp+="01";
strTemp=addLine(strTemp);
if (strTemp.length==10)
obj.value=strTemp;}function date01(obj){
//在日期后面加上 01 ,并判断输入的日期是否正确,并判断输入的日期不能大于今天
if (!obj) return false;
var msg = "日期  ->  录入错误  !!!  请按此格式 录入  ->  2001-01-01";
dateAdd01(obj);  var strT=trimLine(obj.value);
if (strT.length!=8 && strT!=""){
alert(msg);
       try{obj.select();obj.focus();}catch(e){}
return false;
}
if (isNotDate(strT.substring(0,4), strT.substring(4,6), strT.substring(6,strT.length))){
alert(msg);
       try{obj.select();obj.focus();}catch(e){}
return false;
} //判断输入的日期是否大于今天
var year1=new Date().getFullYear();
var mon1=new Date().getMonth()+1;
var day1=new Date().getDate();
if (mon1<10) mon1="0"+mon1;
if (day1<10) day1="0"+day1;
strTemp = year1+""+ mon1 +""+ day1 ;
if (strT>strTemp){
alert('输入的日期不到大于今天!');
// obj.value="";
       try{obj.select();obj.focus();}catch(e){}
}}function date02(obj){
//在日期后面加上 01 ,并判断输入的日期是否正确
if (!obj) return false;
var msg = "日期  ->  录入错误  !!!  请按此格式 录入  ->  2001-01-01";
dateAdd01(obj);  var strT=trimLine(obj.value);
if (strT.length!=8 && strT!=""){
alert(msg);
       try{obj.select();obj.focus();}catch(e){}
return false;
}
if (isNotDate(strT.substring(0,4), strT.substring(4,6), strT.substring(6,strT.length))){
alert(msg);
       try{obj.select();obj.focus();}catch(e){}
return false;
}
}function trimLine(strT){
//删除输入的值的横线
 var i=strT.indexOf("-");
 while (i!=-1){
  strT=strT.substring(0,i)+strT.substring(i+1,strT.length);
i=strT.indexOf("-");
 }
 return strT;
}function addLine(strT){
//给日期值加横线
var strTemp='';
strTemp=trimLine(strT);
if (strTemp.length==8)
return strTemp.substring(0,4)+"-"+strTemp.substring(4,6)+"-"+strTemp.substring(6,strTemp.length);
else
return strT;
}/* 检查日期 */
function isNotDate(year, month, day){  if ((year + month + day) == "") return false;  if (month.length>2 || day.length>2 || year.length>4) return true;  var date, yy, mm, dd;
  date = new Date(year, month - 1, day);
  yy = date.getYear();  if (yy < 100) yy = 1900 + yy;  mm = date.getMonth() + 1;
  dd = date.getDate();  if (yy != year || mm != month || dd != day) return true;
  else return false;}

解决方案 »

  1.   

    ////////////////// js/inputdate.htm
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <!-- saved from url=(0049)http://www.gzaccount.gov.cn/work/js/inputdate.htm -->
    <!-- 
     author: HJQ 
     Creation date: 2002-02-01
    --><HTML><HEAD><TITLE>日期输入</TITLE>
    <META content="text/html; charset=gb2312" http-equiv=Content-Type><!--
    调用方法:
    showModalDialog('inputdate.htm',txtinput,'dialogTop:'+(document.body.scrollTop+event.clientY)+';dialogLeft:'+(document.body.scrollLeft+event.clientX)+';dialogWidth:13;dialogHeight:13.5;scroll:no;status:no;help:no;edge:sunken')"
    -->
    <STYLE type=text/css>A.link {
    CURSOR: hand; TEXT-DECORATION: underline
    }
    A.link1 {
    CURSOR: hand
    }
    A.today {
    COLOR: red; CURSOR: hand; TEXT-DECORATION: underline
    }
    TABLE.tableT {
    FONT-SIZE: 13px; Z-INDEX: 1
    }
    BODY.contentstyle {
    BACKGROUND: #ebddf8; MARGIN: 0px; PADDING-BOTTOM: 2px; PADDING-LEFT: 2px; PADDING-RIGHT: 2px; PADDING-TOP: 2px
    }
    imgclass {
    HEIGHT: 15px; WIDTH: 15px
    }
    </STYLE><SCRIPT language=JavaScript>
    <!--
    var imgPath=window.location;
    var n;
    imgPath+="";
    n=imgPath.lastIndexOf('/');
    if (n!=-1)
       imgPath=imgPath.substring(0,n+1);
       
    //   imgPath="";
    var MonPathUp=imgPath+"MonUp.ico";
    var MonPathDown=imgPath+"MonDown.ico";
    var YearPathUp=imgPath+"YearUp.ico";
    var YearPathDown=imgPath+"YearDown.ico";function toggleDatePicker(eltName) 
    {  oldDate(window1);
      newCalendar(eltName);}
    isIE = (document.all ? true : false);function getIEPosX(elt) { return getIEPos(elt,"Left"); }
    function getIEPosY(elt) { return getIEPos(elt,"Top"); }
    function getIEPos(elt,which) {
     iPos = 0
     while (elt!=null) {
      iPos += elt["offset" + which]
      elt = elt.offsetParent
     }
     return iPos
    }function getXBrowserRef(eltname) {
     return (isIE ? document.all[eltname].style : document.layers[eltname]);
    }
    function toggleVisible(eltname) {
     elt = getXBrowserRef(eltname);
     if (elt.visibility == 'visible' || elt.visibility == 'show') {
       elt.visibility = 'hidden';
     } else {
       fixPosition(eltname);
       elt.visibility = 'visible';
     }
    }//——————————————————————————————————————// 判断浏览器
         isIE = (document.all ? true : false);// 初始月份及各月份天数数组
         var months = new Array("一 月", "二 月", "三 月", "四 月", "五 月", "六 月", "七 月",
     "八 月", "九 月", "十 月", "十一月", "十二月");
         var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);
     var displayMonth = new Date().getMonth();
     var displayYear = new Date().getFullYear();
     var displayDivName;
     var displayElement;     function getDays(month, year) {
                //测试选择的年份是否是润年?
                if (1 == month)
                   return ((0 == year % 4) && (0 != (year % 100))) ||
                      (0 == year % 400) ? 29 : 28;
                else
                   return daysInMonth[month];
             }         function getToday() {
                // 得到今天的日期
                this.now = new Date();
                this.year = this.now.getFullYear();
                this.month = this.now.getMonth();
                this.day = this.now.getDate();
             }         // 并显示今天这个月份的日历
             today = new getToday();    function newCalendar(eltName,attachedElement) 
    {
        displayDivName = eltName;
                today = new getToday();
                var parseYear = parseInt(displayYear + '');
                var newCal = new Date(parseYear,displayMonth,1);
                var day = -1;
                var startDayOfWeek = newCal.getDay();
                if ((today.year == newCal.getFullYear()) && (today.month == newCal.getMonth()))
         {
                   day = today.day;
                }
                var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
                var daysGrid = makeDaysGrid(startDayOfWeek,day,intDaysInMonth,newCal,eltName)

    // var neww=window.open();
    // neww.document.write(daysGrid);
    // neww.close();


        if (isIE) 
    {
           var elt = document.all[eltName];
           elt.innerHTML = daysGrid;
        } else {
           var elt = document.layers[eltName].document;
           elt.open();
           elt.write(daysGrid);
           elt.close();
        }
     }  function incMonth(delta,eltName) {
       displayMonth += delta;
       if (displayMonth >= 12) {
         displayMonth = 0;
         incYear(1,eltName);
       } else if (displayMonth <= -1) {
         displayMonth = 11;
         incYear(-1,eltName);
       } else {
         newCalendar(eltName);
       }
     }  function incYear(delta,eltName) {
       displayYear = parseInt(displayYear + '') + delta;
       newCalendar(eltName);
     }
     
      

  2.   

    续前面
     function makeDaysGrid(startDay,day,intDaysInMonth,newCal,eltName) 
     {
        var daysGrid;
        var month = newCal.getMonth();
        var year = newCal.getFullYear();
        var isThisYear = (year == new Date().getFullYear());
        var isThisMonth = (day > -1)
    //头
        daysGrid = '<table width=160 border=0 align=center cellspacing=0 cellpadding=0 class="tableT" >';
    daysGrid +='\n\t<tr style="line-height : 25px;"><td  nowrap colspan=7>';
        daysGrid += '<font face="courier new, courier" >';
        daysGrid += '<a class="link" onclick="window.close()">X</a>';
        daysGrid += '&nbsp;&nbsp;';
        daysGrid += '<a class="link1" onclick="incMonth(-1,\'' + eltName + '\')">▲</a>';     daysGrid += '<b>';
        if (isThisMonth) { daysGrid += '<font color=red>' + months[month] + '</font>'; }
        else { daysGrid += months[month]; }
        daysGrid += '</b>';     daysGrid += '<a class="link1" onclick="incMonth(1,\'' + eltName + '\')">▼</a>';
        daysGrid += '&nbsp;&nbsp;';
        daysGrid += '<a class="link1" onclick="incYear(-1,\'' + eltName + '\')">▲</a>';     daysGrid += '<b>';
        if (isThisYear) { daysGrid += '<font color=red>' + year + '</font>'; }
        else { daysGrid += ''+year; }
        daysGrid += '</b>';     daysGrid += '<a class="link1" onclick="incYear(1,\'' + eltName + '\')">▼</a><br>';
    daysGrid +='\n\t</td></tr>';

    //标题
    daysGrid +='\n\t<tr style="line-height : 20px;">';
    daysGrid += '<td align=center>日<td align=center>一<td align=center>二<td align=center>三<td align=center>四<td align=center>五<td align=center>六';
    //     daysGrid += '&nbsp;Su Mo Tu We Th Fr Sa&nbsp;';
    daysGrid +='\n\t</tr>';



    //     daysGrid += '&nbsp;日 一 二 三 四 五 六&nbsp;<br>&nbsp;';
        var dayOfMonthOfFirstSunday = (7 - startDay + 1);
        for (var intWeek = 0; intWeek < 6; intWeek++) 
    {
           var dayOfMonth;
           daysGrid +='\n\t<tr style="line-height : 20px;">';
           for (var intDay = 0; intDay < 7; intDay++) 
       {
              dayOfMonth = (intWeek * 7) + intDay + dayOfMonthOfFirstSunday - 7;
      if (dayOfMonth <= 0)
     {
                daysGrid += "\n\t\t<td>&nbsp;</td>";
     }
    else if (dayOfMonth <= intDaysInMonth) 
      {
                    var color = "blue";
                    if (day > 0 && day == dayOfMonth) color="red";
                    daysGrid += '\n\t\t<td align=center ><a class="link" onclick="setDay(';
                    daysGrid += dayOfMonth + ',\'' + eltName + '\')" '
                    daysGrid += 'style="color:' + color + '">';
                    var dayString = dayOfMonth + "</a> ";
                    if (dayString.length == 6) dayString = '0' + dayString;
                    daysGrid += dayString+"</td>";
              }
    else 
    daysGrid += "\n\t\t<td>&nbsp;</td>";
           }
           if (dayOfMonth < intDaysInMonth) 
           daysGrid +='\n\t</tr>';
        }
    daysGrid +='\n\t<tr><td colspan=7 ALIGN="center">今天是:\n\t</td></tr>'; var year1=new Date().getFullYear();
    var mon1=new Date().getMonth()+1;
    var day1=new Date().getDate();
         var listdate=year1+"年"+mon1+"月"+day1+"日 星期";     var day2=new Date().getDay();
         if (day2==0)
         listdate=listdate+"日";
         else if (day2==1)
         listdate=listdate+"一";
         else if (day2==2)
         listdate=listdate+"二";
         else if (day2==3)
         listdate=listdate+"三";
         else if (day2==4)
         listdate=listdate+"四";
         else if (day2==5)
         listdate=listdate+"五";
         else 
         listdate=listdate+"六"; var strtemp="\n\t<tr><td colspan=7 ALIGN='center' style='font-size:13px'><a class=today  onclick='setToDay(\""+eltName+"\")'>";
    strtemp=strtemp+listdate;
    strtemp=strtemp+"</a>\n\t</td></tr>\n</table>";

    // test.value=daysGrid+strtemp;

        return daysGrid+strtemp; 
     }  function setDay(day,eltName) 
     {
      var mon1=displayMonth + 1;
    if (mon1<10) mon1="0"+mon1;
    if (day<10) day="0"+day;
       window1.value = displayYear+ "-" + mon1 + "-" + day ;
       try{
          window1.focus();
       }catch(e){
       }
       window.close();
     }
     
     function setToDay(eltName)
     {
      var year1=new Date().getFullYear();
    var mon1=new Date().getMonth()+1;
    var day1=new Date().getDate();
    if (mon1<10) mon1="0"+mon1;
    if (day1<10) day1="0"+day1;
       window1.value = year1+ "-" + mon1 + "-" + day1 ;
       window.close();
     }
    //——————————————————————————————————————
    // fixPosition() 这个函数和前面所讲的那个函数一样
    //
    function fixPosition(eltname) {
     elt = getXBrowserRef(eltname);
    }function oldDate(objinput)
    {
    //取输入框中的年月
    clearSpaceH(objinput);
    var strDate=objinput.value;
    // var aa=strDate.lastIndexOf("-");
    // alert(aa);
    if (strDate==null || strDate=="")
    {
          displayMonth = new Date().getMonth();
          displayYear = new Date().getFullYear();
    }
    else
    {
    var i1=strDate.indexOf("-");
    var i2=strDate.lastIndexOf("-");
    var year1,mon1;
    // alert(i1+"|"+i2);
    // alert(strDate.substring(0,i1)+"|"+strDate.substring(i1+1,i2));
    if (i1!=-1 && i1<=4) 
    {
    if (i1=4)
    year1=strDate.substring(0,i1);
    else
    year1=new Date().getFullYear();

    if (i2!=-1 && i1!=i2)
    mon1=strDate.substring(i1+1,i2);
    else
    mon1=strDate.substring(i1+1,i1+3);
    }
    else if (i1!=-1 && i1>4) 
    {
    year1=strDate.substring(0,4);
    mon1=new Date().getMonth()+1;
    }
    else if (i1==-1 && strDate.length>=4)
    {
    year1=strDate.substring(0,4);
    if (strDate.length>4)
    mon1=strDate.substring(4,6);
    else
    mon1 = new Date().getMonth()+1;
    }
    else 
    {
              mon1 = new Date().getMonth()+1;
              year1 = new Date().getFullYear();
    }

    // alert(year1+"|"+mon1);
    if (H_isStringInt(year1,1,20) || H_isStringInt(mon1,1,20))
    {
              mon1 = new Date().getMonth()+1;
              year1 = new Date().getFullYear();
    }
    var newdate=new Date(year1,mon1-1,1);
          displayMonth = newdate.getMonth();
          displayYear = newdate.getFullYear();

    }}function clearSpaceH(obj)
    {
    //删除前后的空格 if (obj == null) return false;    if (obj.type=="text" && obj.value!="")
    {
         var strtemp=obj.value;
         var strlen=strtemp.length;     for(var i=0,achar=strtemp.substring(0,1);i!=strlen && achar==" ";i++)
    achar=strtemp.substring(i,i+1);
         if (i!=0) strtemp=strtemp.substring(i-1,strlen); i=strtemp.length-1;
    achar=strtemp.substring(i,i+1);
         for(;i>=0 && achar==" ";--i)
    achar=strtemp.substring(i,i+1);      if (i!=strtemp.length-1) strtemp=strtemp.substring(0,i+2);

    if (strtemp.length==1 && strtemp==" ") strtemp="";

         obj.value=strtemp;
    }
    }function H_isStringInt(textValue,temp,maxlen)
    {
    /*
    <!--
    // 测试是否是整数 temp=1
    // 测试是否是字母 temp=3
    // 测试是否是整数和字母  temp=4taxtValue  值
    maxlen     最大长度
    -->
    */ textValue=textValue+"";
    temp=temp*1;
    maxlen=maxlen*1;
        var newlength=textValue.length; if (newlength>maxlen) return true; for (var i=0;i != newlength;i++)
    {
            var achar=textValue.substring(i,i+1);
            achar=achar.toUpperCase();
    if (temp==1)
            {
    if (achar<"0" || achar>"9") return true;
    }
    else if (temp==3)
    {
                if (achar<"A" || achar>"Z") return true;
    }
    else if (temp==4)
    {
    if ((achar<"0" || achar>"9") && (achar<"A" || achar>"Z")) return true;
    }    }
    return false;
    }
    //-->
    </SCRIPT><META content="MSHTML 5.00.3315.2870" name=GENERATOR></HEAD>
    <BODY class=contentstyle onload="toggleDatePicker('inputd','form1.as')">
    <SCRIPT> var window1=window.dialogArguments; if (window1!="[object]"){
    alert("对象引用错误!请开发人员检查父页是否有定义重复!"); 
    window.close();
    }else if(window1.type!="text"){
    window.close();
    }

    if (window1.disabled)
    window.close();</SCRIPT><DIV id=inputd><!--
    <i