Date.js
上传用户:prospercnc
上传日期:2019-12-08
资源大小:1314k
文件大小:9k
源码类别:

弱点检测代码

开发平台:

ASP/ASPX

  1. var months = new Array("一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"); 
  2. var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); 
  3. var days = new Array("日","一", "二", "三", "四", "五", "六"); 
  4. var today;
  5. document.writeln("<div id='Calendar' style='position:absolute; z-index:10000; visibility: hidden; filter:"progid:DXImageTransform.Microsoft.Shadow(direction=135,color=#999999,strength=3)"'></div>");
  6. function getDays(month, year)
  7.     //下面的这段代码是判断当前是否是闰年的 
  8.     if (1 == month) 
  9.         return ((0 == year % 4) && (0 != (year % 100))) || (0 == year % 400) ? 29 : 28; 
  10.     else 
  11.         return daysInMonth[month]; 
  12. }
  13. function getToday() 
  14.     //得到今天的年,月,日 
  15.     this.now = new Date(); 
  16.     this.year = this.now.getFullYear(); 
  17.     this.month = this.now.getMonth(); 
  18.     this.day = this.now.getDate(); 
  19. }
  20. function getStringDay(str) 
  21.     //得到输入框的年,月,日
  22.     var str=str.split("-")
  23.     
  24.     this.now = new Date(parseFloat(str[0]),parseFloat(str[1])-1,parseFloat(str[2])); 
  25.     this.year = this.now.getFullYear(); 
  26.     this.month = this.now.getMonth(); 
  27.     this.day = this.now.getDate(); 
  28. }
  29. function newCalendar() { 
  30.     var parseYear = parseInt(document.getElementById("Year").options[document.getElementById("Year").selectedIndex].value); 
  31.     var newCal = new Date(parseYear, document.getElementById("Month").selectedIndex, 1); 
  32.     var day = -1; 
  33.     var startDay = newCal.getDay(); 
  34.     var daily = 0; 
  35.     
  36.     if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth())) 
  37.         day = today.day; 
  38. if(navigator.appName.indexOf("Explorer") > -1){ 
  39.    var tableCal = document.all.calendar; 
  40. } else{ 
  41.    var tableCal = document.getElementById("calendar"); 
  42.     var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
  43.      
  44.     for (var intWeek = 1; intWeek < tableCal.rows.length;intWeek++)
  45. {
  46.         for (var intDay = 0;intDay < tableCal.rows[intWeek].cells.length;intDay++) 
  47.         { 
  48.             var cell = tableCal.rows[intWeek].cells[intDay]; 
  49.             if ((intDay == startDay) && (0 == daily)) 
  50.                 daily = 1; 
  51.                 
  52.             if(day==daily) //今天,调用今天的Class 
  53.             {
  54.                 cell.style.background='#6699CC';
  55.                 cell.style.color='#FFFFFF';
  56.                 //cell.style.fontWeight='bold';
  57.             }
  58.             else if(intDay==6) //周六 
  59.                 cell.style.color='green'; 
  60.             else if (intDay==0) //周日 
  61.                 cell.style.color='red';
  62.             
  63.             if ((daily > 0) && (daily <= intDaysInMonth)) 
  64.             { 
  65.      if(navigator.appName.indexOf("Explorer") > -1){ 
  66.       cell.innerText = daily; 
  67.      } else{ 
  68.         cell.textContent = daily; 
  69.      } 
  70.                 //cell.innerText = daily; 
  71.                 daily++; 
  72.             } 
  73.             else 
  74.      if(navigator.appName.indexOf("Explorer") > -1){ 
  75.       cell.innerText = ""; 
  76.      } else{ 
  77.         cell.textContent = ""; 
  78.      } 
  79.                 //cell.innerText = ""; 
  80.         } 
  81. }
  82. if(navigator.appName.indexOf("Explorer") > -1){
  83. }
  84. else
  85. {
  86.    tableCal.rows[5].style.visibility="visible";
  87.    tableCal.rows[6].style.visibility="visible";  
  88.    if(tableCal.rows[5].cells[0].textContent=="")
  89.    {
  90.     tableCal.rows[5].style.visibility="hidden";
  91.    }
  92.    if(tableCal.rows[6].cells[0].textContent=="")
  93.    {
  94.     tableCal.rows[6].style.visibility="hidden";
  95.    }  
  96. }
  97. }
  98. function GetDate(InputBox,evt)
  99.     var sDate;
  100. if (window.navigator.userAgent.indexOf("MSIE")>=1){
  101.    obj   =   event.srcElement;
  102. }
  103. else
  104. {
  105.    obj=evt.target;
  106. }
  107.     //这段代码处理鼠标点击的情况 
  108.     if (obj.tagName == "TD") 
  109.    if(navigator.appName.indexOf("Explorer") > -1){ 
  110.     strtext=obj.innerText;
  111.    } else{ 
  112.     strtext=obj.textContent;
  113.    } 
  114.         if (strtext != "") 
  115.         { 
  116.             sDate = document.getElementById("Year").value + "-" + document.getElementById("Month").value + "-" + strtext;
  117.             document.getElementById(InputBox).value=sDate;
  118.             HiddenCalendar();
  119.         } 
  120. }
  121. function HiddenCalendar()
  122. {
  123.     //关闭选择窗口
  124. if(navigator.appName.indexOf("Explorer") > -1){ 
  125.     //document.getElementById("calendar").rows[5].style.visibility="hidden"
  126.    //document.getElementById("calendar").rows[6].style.visibility="hidden" 
  127. } else{ 
  128.     document.getElementById("calendar").rows[5].style.visibility="hidden"
  129.    document.getElementById("calendar").rows[6].style.visibility="hidden"
  130.     document.getElementById("Calendar").style.visibility='hidden'; 
  131. }
  132. function ShowCalendar(InputBox)
  133. {
  134.     var x,y,intLoop,intWeeks,intDays;
  135.     var DivContent;
  136.     var year,month,day;
  137.     var o=document.getElementById(InputBox);
  138.     var thisyear; //真正的今年年份
  139.     
  140.     thisyear=new getToday();
  141.     thisyear=thisyear.year;
  142.     today = o.value;
  143.     if(isDate(today))
  144.         today = new getStringDay(today);
  145.     else
  146.         today = new getToday(); 
  147.     
  148.     //显示的位置
  149.     x=o.offsetLeft;
  150.     y=o.offsetTop;
  151.     while(o=o.offsetParent)
  152.     {
  153.         x+=o.offsetLeft;
  154.         y+=o.offsetTop;
  155.     }
  156.     document.getElementById("Calendar").style.left=x+"px";
  157.     document.getElementById("Calendar").style.top=y+24+"px";
  158.     document.getElementById("Calendar").style.visibility="visible";
  159.     
  160.     //下面开始输出日历表格(border-color:#9DBAF7)
  161.     DivContent="<table border='0' cellspacing='0' style='border:1px solid #72A9CF; background-color:#EDF2FC'>";
  162.     DivContent+="<tr>";
  163.     DivContent+="<td style='border-bottom:1px solid #72A9CF; background-color:#C7D8FA; height=25px;'>";
  164.     
  165.     //年
  166.     DivContent+="<select name='Year' id='Year' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
  167.     for (intLoop = (thisyear-2); intLoop < (thisyear + 3); intLoop++) 
  168.         DivContent+="<option value= " + intLoop + " " + (today.year == intLoop ? "Selected" : "") + ">" + intLoop + "</option>"; 
  169.     DivContent+="</select>";
  170.     
  171.     //月
  172.     DivContent+="<select name='Month' id='Month' onChange='newCalendar()' style='font-family:Verdana; font-size:12px'>";
  173.     for (intLoop = 0; intLoop < months.length; intLoop++) 
  174.         DivContent+="<option value= " + (intLoop + 1) + " " + (today.month == intLoop ? "Selected" : "") + ">" + months[intLoop] + "</option>"; 
  175.     DivContent+="</select>";
  176.     
  177.     DivContent+="</td>";
  178.     
  179.     DivContent+="<td style='border-bottom:1px solid #72A9CF; background-color:#C7D8FA; font-weight:bold; font-family:Wingdings 2,Wingdings,Webdings; font-size:16px; padding-top:2px; color:#4477FF;cursor: pointer' align='center' title='关闭' onClick='javascript:HiddenCalendar()'>×</td>";
  180.     DivContent+="</tr>";
  181.      
  182.     DivContent+="<tr><td align='center' colspan='2'>";
  183.     DivContent+="<table name='calendar' id='calendar' border='0' width='100%'>";
  184.     
  185.     //星期
  186.     DivContent+="<tr>";
  187.     for (intLoop = 0; intLoop < days.length; intLoop++) 
  188.         DivContent+="<td align='center' style='height=20px;font-size:12px'>" + days[intLoop] + "</td>"; 
  189.     DivContent+="</tr>";
  190.     
  191.     //天
  192.     for (intWeeks = 0; intWeeks < 6; intWeeks++)
  193.     { 
  194.         DivContent+="<tr>"; 
  195.         for (intDays = 0; intDays < days.length; intDays++) 
  196.             DivContent+="<td onClick='GetDate("" + InputBox + "",event)' style='cursor: pointer;border-top:1px solid #fff;border-left:1px solid #fff;border-right:1px solid #99bbdd; border-bottom:1px solid #99bbdd; color:#215DC6; font-family:Verdana;font-size:12px;height=20px;line-height:16px' align='center'></td>"; 
  197.         DivContent+="</tr>"; 
  198.     } 
  199.     DivContent+="</table></td></tr></table>";
  200. DivContent+="<iframe frameborder='0' style='position:absolute;visibility:inherit;top:0px;left:0px;width:expression(this.parentNode.offsetWidth);height:expression(this.parentNode.offsetHeight);z-index:-1;filter='progid XImageTransform.Microsoft.Alpha(style=0,opacity=0)';'></iframe>";
  201.     document.getElementById("Calendar").innerHTML=DivContent;
  202.     newCalendar();
  203. }
  204. function isDate(dateStr)
  205.     var datePat = /^(d{4})(-)(d{1,2})(-)(d{1,2})$/;
  206.     var matchArray = dateStr.match(datePat);
  207.     if (matchArray == null) return false; 
  208.     var month = matchArray[3];
  209.     var day = matchArray[5]; 
  210.     var year = matchArray[1]; 
  211.     if (month < 1 || month > 12) return false; 
  212.     if (day < 1 || day > 31) return false; 
  213.     if ((month==4 || month==6 || month==9 || month==11) && day==31) return false; 
  214.     if (month == 2)
  215.     {
  216.         var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)); 
  217.         if (day > 29 || (day==29 && !isleap)) return false; 
  218.     } 
  219.     return true;
  220. }