精华内容
下载资源
问答
  • 这一节内容介绍不同的选择器,具体怎么实现选择器和图表之间的连接,下节内容再放送。或可回顾前一篇系列文章,查看整体动态效果《这样用Excel动态...1、组合【开发工具】——【插入】——【组合】,在鼠标变成...
    这一节内容介绍不同的选择器,具体怎么实现选择器和图表之间的连接,下节内容再放送。或可回顾前一篇系列文章,查看整体动态效果《这样用Excel动态交互图表,还要什么前端》。选择器可以由窗体控件、数据有效性、切片器制作,接下来分别展开。 

    一、窗体控件

    窗体控件就是【开发工具】当中插入的交互按钮,根据功能和需求的不同,可以选择不同的控件。

    1、组合框【开发工具】——【插入】——【组合框】,在鼠标变成十字图标时在页面空白处画一个大小适宜的组合框。

    b73c4a878fe1ad38514a8b3812f46ae0.png

    右键【设置控件格式】,选择数据源区域单元格链接,组合框由数据源区域和单元格链接两部分组成:
    • 数据源区域必须为列区域,行区域可以转置为列再选成数据源区域;

    • 单元格链接是选择控件中的值以后结果显示在哪里。

     组合框选择的结果是显示数据源区域对应的第几个值,如数据源区域为1月~9月,组合框选择1月,对应的结果为数字1,2月则为数字2,以此类推。

    37828d9dce7f9610c5eda0efa1eed646.png

    在动态图表中多用于选择框选择一项指标,显示相应的数据图表,如下动图,组合框选择不同的省份,出现该省下每个月的数据值的柱状图。

    2c0b419c192747c4159c799607139d72.gif

    2、列表框列表框由选择数据源区域和单元格链接组成,功能和效果和组合框一样,不同的是组合框下拉后才有选项,而列表框不用下拉,直接将选项列出来,更直观一些。

    19732f79b00772148958585bfe384655.png

     3、复选框复选框由输入区域和单元格链接组成,输入区域可自行输入勾选的内容,单元格链接同组合框的规则,可以进行多项选择,选择的结果勾选上即为Ture未勾选就显示FALSE,复选复选,顾名思义,就是可以进行多选。

    d700984d824d96bfca8943bb8066db5e.png

    在动态图表中多用来勾选前已有数据图表,勾选后显示同一指标的不同值等结果,如下动图,勾选去年复选框,则图表显示19年和18年两年的数据,不勾选时,只显示19年的值。

    37ced4b100c9e70f380500a2510c24a2.gif

     4、选项按钮选项按钮由输入区域和单元格链接组成,同复选框一样,只不过不能多选了,只能单选。复选框是每个选框都有一个True或False的结果,可以同时勾选多个复选框,而选项按钮是几个选项有一个共同的结果,即它在组中的次序,一次只能勾选一个结果。如下勾选男前的选项按钮,显示结果为1,勾选女,显示结果为2.

    4a8b7e0abdb6c0c742e1c62a331faa15.png

     如下动图,勾选北京前的选项按钮,则右边图表变为北京的数据,效果同组合框差不多。

    9bc5cf46ed5f1d90fef1111bb59dd50b.gif

    5、数值调节钮数值调节钮由最小值、最大值、步长和单元格链接组成,最小值是该控件显示的最小值,最大值是该控件能显示的最大值,步长是每点一下调节按钮,结果比前一个值前进多少。如下图我们设置了0~100之间的最值,步长为1,则整个结果在0~100之间,每点一下前进1个单位。

    871982ee9cf3b961469ec214db715e79.png

    6、滚动条滚动条和数值调节钮的功能一毛一样,就是长的不一样,同样是由最小值、最大值、步长和单元格链接组成。如下图我们设置了0~100之间的最值,步长为1,则整个结果在0~100之间,每点一下前进1个单位。

    2525ac2a165111aad1c56218509f49d8.png

     如下动图,滚动条可以这样使用,在时间序列的折线图中,每点击一下滚动条,则显示出相应时间点的数据。

    00a98918d50269121581c6bee1d4fa16.gif

     

    二、数据有效性(数据验证)

    数据有效性也可以用来当成选择器,鼠标选择在一个空白的单元格上,选择【数据】——【数据验证】,在弹出的对话框中,验证条件选择序列,来源选择月份所在的区域。

    01a77434a25947a6705badb06348cd5d.png

     这样,在单元格中就得到了一个下拉后显示月份区域的下拉框。同组合框、列表框不一样的是:
    • 数据有效性制作出来的选框和普通单元格没有区别,不选择的时候是看不出来的,而组合框能明显地看出来是一个提供选项的控件。

    • 组合框是单元格链接,且选择的结果是一个数字,而数据有效性没有单元格链接,选择的结果就是单元格本身的结果。

    9f59afb9e6e873235beb7f6c9faea32d.png

    e623705701a16fc06e94925ca018cb58.png

     

    三、切片器

    1、数据透视表切片Step1:对各省月度数据插入数据透视表:

    8e7d620aa62140d260118613aafa3a73.png

     Step2:将地区一列拖到数据透视表的行标签中,其余数据拖到值区域中。

    78e2acff36b5f7af3e88c6f63de7d102.png

     Step3:选择【分析】——【插入切片器】,选择地区进行切片。

    d44dba8015de4635ce8a4ffaaf7d0392.png

     Step4:至此已经做到切片器选择不同的地区,显示相应的数据,接下来做静态图表即可。

    f46788a364170d82ed36e537cdfaf38c.png

     如下动图,就实现了切片器控制的图表动态变化。

    a9bfe32d97e6f0ed38b326aec07ca5c3.gif

    2、表格切片还有一种更简单的切片操作,无需多一步制作数据透视表,直接对数据源区域插入表格,在【设计】里选择【插入切片器】。

    1dc0820180b623089376b854d20dbee7.png

     再对相应数据插入折线图,效果和数据透视表中切片是一样的,但更简单了呢。

    c8348816d3c7ae05627b9534a65bad9e.gif

    本节内容就到这,下节内容讲解抽取数据的操作

    提供入门级数据分析的学习路线规划,分享从Excel到统计学的干货。数据分析是一项技能,希望人人都能分析数据。

    123f2b5ff8b7fde981c004ef3d5711d0.png

    相关内容:SQL学习:MySQL入门 | 库/表/记录的增查删改 | 对行和列的操作 | 计算字段 | 分组和子查询 | 表连接Excel分析方法:RFM分析 | 综合指标分析 | 平均和交叉 | 分组 | 对比 | 时间序列分析 | 回归分析 | 描述性统计分析 | 相关性分析 Excel图表:数据地图 | 数据透视表 | 动图图表交互 | 5个基本图 | 13个进阶图 | 直方图 | 控制图 | 排列图Excel函数:日期文本函数 | 查找引用函数 | if函数 | 统计函数用Excel进行数据分析:数据获取 | 数据处理 方法论:超级菜鸟怎么学习数据分析 |如何系统地学习Excel | 数据分析学习 | Excel相见恨晚的技巧 统计相关几个统计概念码字不易,喜欢就点个右下角 在看 呗
    展开全文
  • jsp日期选择框 ,无需第三方js控件

    万次阅读 2010-09-08 21:45:00
    -------------------------------------------------------------------------------------------------------------------------------代码如下:JS日期选择

    ---------------------------------------------------------------

     

    ----------------------------------------------------------------

     

    代码如下:

    <%@page  pageEncoding="utf-8"%>
    <html>
    <head>
    <title>JS日期选择器</title>
    <script type="text/javascript">
    function HS_DateAdd(interval,number,date){
     number = parseInt(number);
     if (typeof(date)=="string"){var date = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2])}
     if (typeof(date)=="object"){var date = date}
     switch(interval){
     case "y":return new Date(date.getFullYear()+number,date.getMonth(),date.getDate()); break;
     case "m":return new Date(date.getFullYear(),date.getMonth()+number,checkDate(date.getFullYear(),date.getMonth()+number,date.getDate())); break;
     case "d":return new Date(date.getFullYear(),date.getMonth(),date.getDate()+number); break;
     case "w":return new Date(date.getFullYear(),date.getMonth(),7*number+date.getDate()); break;
     }
    }
    function checkDate(year,month,date){
     var enddate = ["31","28","31","30","31","30","31","31","30","31","30","31"];
     var returnDate = "";
     if (year%4==0){enddate[1]="29"}
     if (date>enddate[month]){returnDate = enddate[month]}else{returnDate = date}
     return returnDate;
    }

    function WeekDay(date){
     var theDate;
     if (typeof(date)=="string"){theDate = new Date(date.split("-")[0],date.split("-")[1],date.split("-")[2]);}
     if (typeof(date)=="object"){theDate = date}
     return theDate.getDay();
    }
    function HS_calender(){
     var lis = "";
     var style = "";
     style +="<style type='text/css'>";
     style +=".calender { width:170px; height:auto; font-size:12px; margin-right:14px; background:url(calenderbg.gif) no-repeat right center #fff; border:1px solid #397EAE; padding:1px}";
     style +=".calender ul {list-style-type:none; margin:0; padding:0;}";
     style +=".calender .day { background-color:#EDF5FF; height:20px;}";
     style +=".calender .day li,.calender .date li{ float:left; width:14%; height:20px; line-height:20px; text-align:center}";
     style +=".calender li a { text-decoration:none; font-family:Tahoma; font-size:11px; color:#333}";
     style +=".calender li a:hover { color:#f30; text-decoration:underline}";
     style +=".calender li a.hasArticle {font-weight:bold; color:#f60 !important}";
     style +=".lastMonthDate, .nextMonthDate {color:#bbb;font-size:11px}";
     style +=".selectThisYear a, .selectThisMonth a{text-decoration:none; margin:0 2px; color:#000; font-weight:bold}";
     style +=".calender .LastMonth, .calender .NextMonth{ text-decoration:none; color:#000; font-size:18px; font-weight:bold; line-height:16px;}";
     style +=".calender .LastMonth { float:left;}";
     style +=".calender .NextMonth { float:right;}";
     style +=".calenderBody {clear:both}";
     style +=".calenderTitle {text-align:center;height:20px; line-height:20px; clear:both}";
     style +=".today { background-color:#ffffaa;border:1px solid #f60; padding:2px}";
     style +=".today a { color:#f30; }";
     style +=".calenderBottom {clear:both; border-top:1px solid #ddd; padding: 3px 0; text-align:left}";
     style +=".calenderBottom a {text-decoration:none; margin:2px !important; font-weight:bold; color:#000}";
     style +=".calenderBottom a.closeCalender{float:right}";
     style +=".closeCalenderBox {float:right; border:1px solid #000; background:#fff; font-size:9px; width:11px; height:11px; line-height:11px; text-align:center;overflow:hidden; font-weight:normal !important}";
     style +="</style>";

     var now;
     if (typeof(arguments[0])=="string"){
      selectDate = arguments[0].split("-");
      var year = selectDate[0];
      var month = parseInt(selectDate[1])-1+"";
      var date = selectDate[2];
      now = new Date(year,month,date);
     }else if (typeof(arguments[0])=="object"){
      now = arguments[0];
     }
     var lastMonthEndDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+now.getMonth()+"-01").getDate();
     var lastMonthDate = WeekDay(now.getFullYear()+"-"+now.getMonth()+"-01");
     var thisMonthLastDate = HS_DateAdd("d","-1",now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-01");
     var thisMonthEndDate = thisMonthLastDate.getDate();
     var thisMonthEndDay = thisMonthLastDate.getDay();
     var todayObj = new Date();
     today = todayObj.getFullYear()+"-"+todayObj.getMonth()+"-"+todayObj.getDate();
     
     for (i=0; i<lastMonthDate; i++){  // Last Month's Date
      lis = "<li class='lastMonthDate'>"+lastMonthEndDate+"</li>" + lis;
      lastMonthEndDate--;
     }
     for (i=1; i<=thisMonthEndDate; i++){ // Current Month's Date

      if(today == now.getFullYear()+"-"+now.getMonth()+"-"+i){
       var todayString = now.getFullYear()+"-"+(parseInt(now.getMonth())+1).toString()+"-"+i;
       lis += "<li><a href=javascript:void(0) class='today' οnclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
      }else{
       lis += "<li><a href=javascript:void(0) οnclick='_selectThisDay(this)' title='"+now.getFullYear()+"-"+(parseInt(now.getMonth())+1)+"-"+i+"'>"+i+"</a></li>";
      }
      
     }
     var j=1;
     for (i=thisMonthEndDay; i<6; i++){  // Next Month's Date
      lis += "<li class='nextMonthDate'>"+j+"</li>";
      j++;
     }
     lis += style;

     var CalenderTitle = "<a href='javascript:void(0)' class='NextMonth' οnclick=HS_calender(HS_DateAdd('m',1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Next Month'>&raquo;</a>";
     CalenderTitle += "<a href='javascript:void(0)' class='LastMonth' οnclick=HS_calender(HS_DateAdd('m',-1,'"+now.getFullYear()+"-"+now.getMonth()+"-"+now.getDate()+"'),this) title='Previous Month'>&laquo;</a>";
     CalenderTitle += "<span class='selectThisYear'><a href='javascript:void(0)' οnclick='CalenderselectYear(this)' title='Click here to select other year' >"+now.getFullYear()+"</a></span>年<span class='selectThisMonth'><a href='javascript:void(0)' οnclick='CalenderselectMonth(this)' title='Click here to select other month'>"+(parseInt(now.getMonth())+1).toString()+"</a></span>月";

     if (arguments.length>1){
      arguments[1].parentNode.parentNode.getElementsByTagName("ul")[1].innerHTML = lis;
      arguments[1].parentNode.innerHTML = CalenderTitle;

     }else{
      var CalenderBox = style+"<div class='calender'><div class='calenderTitle'>"+CalenderTitle+"</div><div class='calenderBody'><ul class='day'><li>日</li><li>一</li><li>二</li><li>三</li><li>四</li><li>五</li><li>六</li></ul><ul class='date' id='thisMonthDate'>"+lis+"</ul></div><div class='calenderBottom'><a href='javascript:void(0)' class='closeCalender' οnclick='closeCalender(this)'>×</a><span><span><a href=javascript:void(0) οnclick='_selectThisDay(this)' title='"+todayString+"'>Today</a></span></span></div></div>";
      return CalenderBox;
     }
    }
    function _selectThisDay(d){
     var boxObj = d.parentNode.parentNode.parentNode.parentNode.parentNode;
      boxObj.targetObj.value = d.title;
      boxObj.parentNode.removeChild(boxObj);
    }
    function closeCalender(d){
     var boxObj = d.parentNode.parentNode.parentNode;
      boxObj.parentNode.removeChild(boxObj);
    }

    function CalenderselectYear(obj){
      var opt = "";
      var thisYear = obj.innerHTML;
      for (i=1970; i<=2020; i++){
       if (i==thisYear){
        opt += "<option value="+i+" selected>"+i+"</option>";
       }else{
        opt += "<option value="+i+">"+i+"</option>";
       }
      }
      opt = "<select οnblur='selectThisYear(this)' οnchange='selectThisYear(this)' style='font-size:11px'>"+opt+"</select>";
      obj.parentNode.innerHTML = opt;
    }

    function selectThisYear(obj){
     HS_calender(obj.value+"-"+obj.parentNode.parentNode.getElementsByTagName("span")[1].getElementsByTagName("a")[0].innerHTML+"-1",obj.parentNode);
    }

    function CalenderselectMonth(obj){
      var opt = "";
      var thisMonth = obj.innerHTML;
      for (i=1; i<=12; i++){
       if (i==thisMonth){
        opt += "<option value="+i+" selected>"+i+"</option>";
       }else{
        opt += "<option value="+i+">"+i+"</option>";
       }
      }
      opt = "<select οnblur='selectThisMonth(this)' οnchange='selectThisMonth(this)' style='font-size:11px'>"+opt+"</select>";
      obj.parentNode.innerHTML = opt;
    }
    function selectThisMonth(obj){
     HS_calender(obj.parentNode.parentNode.getElementsByTagName("span")[0].getElementsByTagName("a")[0].innerHTML+"-"+obj.value+"-1",obj.parentNode);
    }
    function HS_setDate(inputObj){
     var calenderObj = document.createElement("span");
     calenderObj.innerHTML = HS_calender(new Date());
     calenderObj.style.position = "absolute";
     calenderObj.targetObj = inputObj;
     inputObj.parentNode.insertBefore(calenderObj,inputObj.nextSibling);
    }
      </script>
    <style>
      body {font-size:12px}
      td {text-align:center}
      h1 {font-size:26px;}
      h4 {font-size:16px;}
      em {color:#999; margin:0 10px; font-size:11px; display:block}
      </style>
    </head>
    <body>
    <h1>Date Picker Demo By Codefans.net</h1>
    <h4 style="border-bottom:1px solid #ccc">ver:1.0</h4>
    <table border="1" width="400" height="150">
     <tr>
      <td>这是示例文字</td>
      <td>示例输入框</td>
      <td>文本文本文本</td>
     </tr>
     <tr>
      <td>示例输入框</td>
      <td><input type="text" style="width:70px" οnfοcus="HS_setDate(this)">文本</td>
      <td>这里是你的文字</td>
     </tr>
     <tr>
      <td>一段文字</td>
      <td>示例输入框</td>
      <td>文本<input type="text" style="width:70px" οnfοcus="HS_setDate(this)">文本</td>
     </tr>
    </table>
    <ul>
     <li>它不需要其他框架类支持</li>
     <li>支持多种浏览器</li>
     <li>点击年份、月份可下拉选择</li>
    </ul>
    </body>
    </html>

    展开全文
  • 样式图如下效果:   <br />   文件目录结构如下所示:         两个按钮图片如下所示:       dateutil.js代码如下:  ...

    样式图如下效果:

     

     

    文件目录结构如下所示:

     

     

      

     

    两个按钮图片如下所示:

     

     

     

    dateutil.js代码如下:

     

    /**********************************/
    /******       截取空格       ******/
    /**********************************/
    function trim(str){
         var i = 0;
            while ((i < str.length)&&((str.charAt(i) == " ")||(str.charAt(i) == " "))){i++;}
         var j = str.length-1;
         while ((j >= 0)&&((str.charAt(j) == " ")||(str.charAt(j) == " "))){j--;}
         if( i > j )
          return "";
         else
          return str.substring(i,j+1);
    }


    /**********************************/
    /*****   是否为合法的用户名   *****/
    /*****用于客户开户时用户名的校验 *****/
    /**********************************/
    var MAX_USERNAME_LENGTH = 40;
    function isValidNewUserName(str){
     var SPECIAL_USERNAME_PREFIX = "~!#$%^&_-|";//同BD_SYS_CONFIG定义的USERNAME_PREFIX保持一致
     var SPECIAL_USERNAME_SUFFIX = "~!#$%^&_-.|";//同BD_SYS_CONFIG定义的USERNAME_SUFFIX保持一致
     var USERNAME_PREFIX = "0123456789abcdefghijklmnopqrstuvwxyz"+SPECIAL_USERNAME_PREFIX;
     var USERNAME_SUFFIX = "0123456789abcdefghijklmnopqrstuvwxyz"+SPECIAL_USERNAME_SUFFIX;
     str = trim(str);
     if (str == "") {
      alert("客户名不能为空.");
      return false;
     }
     if (str.length > MAX_USERNAME_LENGTH) {
      alert("输入的客户名长度太大.");
      return false;
     }
     if ( USERNAME_PREFIX.indexOf( str.charAt(0) ) == -1) {
      alert("客户名不能以非法字符("+str.charAt(0)+")开头.");
      return false;
     }
     for(var i=1;i<str.length;i++){
      if ( USERNAME_SUFFIX.indexOf( str.charAt(i) ) == -1) {
       alert("输入的客户名含有非法字符("+str.charAt(i)+").");
       return false;
      }
     }
     /*
     if ( (/^[A-Za-z0-9~!#$%^&_-|]+$/g).test(str) == false ) {
      return false;
     }
     */
     
     return true;
    }

    /********************************************************/
    /*******************   是否为合法的用户名   *************/
    /*****用于客户(用户)的修改和查询,兼容四期以前版本*****/
    /**********************************************************/
    function isValidUserName(str){
     var SPECIAL_USERNAME_PREFIX = "~!#@$%^&_-.|";//同BD_SYS_CONFIG定义的USERNAME_PREFIX保持一致
     var SPECIAL_USERNAME_SUFFIX = "~!#@$%^&_-.|";//同BD_SYS_CONFIG定义的USERNAME_SUFFIX保持一致
     var USERNAME_PREFIX = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+SPECIAL_USERNAME_PREFIX;
     var USERNAME_SUFFIX = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+SPECIAL_USERNAME_SUFFIX;
     str = trim(str);
     if (str == "") {
      alert("客户名不能为空.");
      return false;
     }
     if (str.length > MAX_USERNAME_LENGTH) {
      alert("输入的客户名长度太大.");
      return false;
     }
     if ( USERNAME_PREFIX.indexOf( str.charAt(0) ) == -1) {
      alert("客户名不能以非法字符("+str.charAt(0)+")开头.");
      return false;
     }
     for(var i=1;i<str.length;i++){
      if ( USERNAME_SUFFIX.indexOf( str.charAt(i) ) == -1) {
       alert("输入的客户名含有非法字符("+str.charAt(i)+").");
       return false;
      }
     }
     /*
     if ( (/^[A-Za-z0-9~!#$%^&_-|]+$/g).test(str) == false ) {
      return false;
     }
     */
     
     return true;
    }

    /**********************************/
    /******   是否为合法的名字   ******/
    /***** added by lijq 20020911  *****/
    /**********************************/
    function isValidName(str,name){
     var SPECIAL_USERNAME_PREFIX = "~!#$%^&_-|";//同BD_SYS_CONFIG定义的USERNAME_PREFIX保持一致
     var SPECIAL_USERNAME_SUFFIX = "~!#$%^&_-|";//同BD_SYS_CONFIG定义的USERNAME_SUFFIX保持一致
     var USERNAME_PREFIX = "0123456789abcdefghijklmnopqrstuvwxyz"+SPECIAL_USERNAME_PREFIX;
     var USERNAME_SUFFIX = "0123456789abcdefghijklmnopqrstuvwxyz"+SPECIAL_USERNAME_SUFFIX;
     str = trim(str);
     if (str == "") {
      alert(name+"不能为空.");
      return false;
     }
     if (str.length > MAX_USERNAME_LENGTH) {
      alert("输入的"+name+"长度太大.");
      return false;
     }
     if ( USERNAME_PREFIX.indexOf( str.charAt(0) ) == -1) {
      alert(name+"不能以非法字符("+str.charAt(0)+")开头.");
      return false;
     }
     for(var i=1;i<str.length;i++){
      if ( USERNAME_SUFFIX.indexOf( str.charAt(i) ) == -1) {
       alert("输入的"+name+"含有非法字符("+str.charAt(i)+").");
       return false;
      }
     }
     /*
     if ( (/^[A-Za-z0-9~!#$%^&_-|]+$/g).test(str) == false ) {
      return false;
     }
     */
     
     return true;
    }

    //是否为float,使用javascript提供的函数isNaN() 包括整数,小数
    //返回值:true 不是数字
    //        false 数字


    /**********************************/
    /*****  是否为单个数字符(0~9) *****/
    /**********************************/
    function isNumber(str){
        if ( (/^/d$/g).test(str) == true ) 
            return true;
        return false;
    }

    /**********************************/
    /*****      是否为整型        *****/
    /**********************************/
    function isInteger(str){
     if (/^/d+$/.test(str) == true) {
      return true;
     }
     return false; 
    }


    /**********************************/
    /*****      是否为有效的密码  *****/
    /**********************************/
    /*
    function isValidPassword(str){
     if (/^[/x00-/xff]+$/.test(str))
      if (str.length >= 4)//added by lijq 20020711
       return true;
     return false;
    }
    */
    function isValidPassword(str){
     if (!(/^[/x00-/xff]+$/.test(str))) {
      alert("密码含有非法字符!");
      return false;
     }
     if (str.length < 4) {
      alert("请输入四位以上密码!");
      return false;
     }
     if (str.indexOf(" ") >= 0) {
      alert("密码不能含有空格!");
      return false;
     }
     
     var i = 0;
     var equ_cnt  = 1;
     var decr_cnt = 1;
     var incr_cnt = 1;
     var temp  = str.charAt(0);//相等
     var decr_str = str.charAt(0);//递减
     var incr_str = str.charAt(0);//递增
     var length = str.length;
     for (i = 1; i < length; i++) {
      if (temp == str.charAt(i)) {
       equ_cnt++;
      } else {break;}/*
      if (decr_str == str.charAt(i)-1){
       decr_str = str.charAt(i);
       decr_cnt++;
      }
      if (incr_str == str.charAt(i)+1) {
       incr_str = str.charAt(i);
       incr_cnt++;
      }*/
     }
     if (equ_cnt == length || decr_cnt == length || incr_cnt == length) {
      alert("输入的密码太简单,请重新输入!");
      return false;
     }
     return true;
    }
    /**********************************/
    /*****是否为指定长度的电话号码*****/
    /**********************************/
    function isPhoneNumber(str,n){
     if(!isInteger(str))
      return false;
     if (str.length != n)
      return false;
     //added by lijq 20020722 begin
     if (n == 7 || n == 8) {
      if (str.indexOf("0")==0
       || str.indexOf("1")==0
       || str.indexOf("9")==0) {
        return false;
      }
     }
     //added by lijq 20020722 end
     return true;
    }

    /**********************************/
    /*****   是否为7位电话号码    *****/
    /**********************************/
    function is7PhoneNumber(str){
     return isPhoneNumber(str,7);
    }

    /**********************************/
    /*****   是否为8位电话号码    *****/
    /**********************************/
    function is8PhoneNumber(str){
     return isPhoneNumber(str,8);
    }

    /**********************************/
    /*****是否为正确的移动电话号码*****/
    /**********************************/
    function isValidGsmNumber(str){
     if(!isInteger(str))
      return false;
     if (str.length != 11)
      return false;
     if(str.indexOf("13") != 0)
      return false;
     return true;
    }

    /**********************************/
    /******   是否为金额型数值   ******/
    /**********************************/
    function isMoney(s){
     if (trim(s) == "") return false;
         if (isNaN(s)){
          return false;
         }
         if (s<0||s>200000) return false;
         split=s.split(".");
         if(split.length==2){
             if(split[1]>99){
                 return false;
             }
         }
         return true;
    }

    /**********************************/
    /******   是否为银行账号   ********/
    /******Lijq added 20020711*********/
    /**********************************/
    function isBankNO(str){
     var SPECIAL_STR = "- ";
     var BANKNO_STR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"+SPECIAL_STR;
     str = trim(str);
     if (str == "") return false;
     for(var i=0; i<str.length; i++){
      if ( BANKNO_STR.indexOf( str.charAt(i) ) == -1)
       return false;
     }
     return true;
    }


    /**********************************/
    /*****   是否为有效的Email    *****/
    /**********************************/
    function isValidEmail(str){
     str = trim(str);
     len = str.length;
     //没有@或者@在首尾
     if((str.indexOf('@') == -1)||(str.indexOf('@') == 0)||(str.indexOf('@') == len-1))
          return false;
     if(str.indexOf('@') != str.lastIndexOf('@'))  
          return false;
     if(str.indexOf('.') == -1)
          return false;
         if (str.lastIndexOf('.') == (len-1) )//'.'在最后一位
          return false;
         for(var j=0;j<len-1;j++){//判断是否有".."或者"@."
          if( (str.charAt(j) == '.' && str.charAt(j+1) == '.') ||( str.charAt(j) == '@' && str.charAt(j+1) == '.' ) )
           return false;
         }
     
        validstr = "1234567890abcdefghijklmnopqrstuvwxyz_-.~@$#";
        lowerstr = str.toLowerCase();
        for(i=0;i<len;i++){
             if(validstr.indexOf(lowerstr.charAt(i)) == -1){
                 return false;
                }
            }         
     
       return true;
    }


    /**********************************/
    /*****     是否为特殊字符     *****/
    /**********************************/
    function isNotChar(s){
        if ((s>='0'&& s<='9')||(s>='a' &&s<='z')||(s>='A'&& s<='Z'))return false;
        else return true;
    }

    /**********************************/
    /*****     是否含有特殊字符   *****/
    /**********************************/
    function hasSpecialChar(str){
     var SPECIAL_STR = "~!@%^&*();'/"?><[]{}//|,:/=+—“”‘";
         for(i=0;i<str.length;i++){
          if (SPECIAL_STR.indexOf(str.charAt(i)) >= 0)
           return true;
         }
         return false;
    }


    /**********************************/
    /*****  是否有效的管理员密码  *****/
    /**********************************/
    function isValidPasswd(s){
        //至少8位,不长于30位,不与帐号同名,至少有一位是数字至少有一个特殊字符。
        if((s.length<8)||(s.length>30)){
            alert("密码长度有误");
            return false;
        }
       var  nochar=0;
        for(i=0;i<8;i++){
          
            if(isNotChar(s.charAt(i))){
                nochar++;
            }
        }
        if(nochar==0){
            alert("你的管理员密码的前八位中至少应有一个特殊字符");
            return false;
        }
           
        return true;
       
    }


    /**********************************/
    /*****    检查IP地址的合法性  *****/
    /**********************************/
    function isValidIP(str){
     str = trim(str);
     temp = str.split('.');
        if(temp.length != 4){
            return false;
        }
        else{
            for(i=0;i<temp.length;i++){
               if((!isInteger(temp[i]))||(temp[i]<0)||(temp[i]>255)){
            return false;
        }
            }
        }
       return true;   
    }

    /**********************************/
    /*****    检查卡号的合法性  *****/
    /**********************************/
    var MIN_CARDLENGTH = 9;//最小的卡长度
    var AREA_LENGTH = 2;//属地长度
    var NUMBER_LENGTH = 6;//卡顺序号长度
    function isValidCard(str){
     if (hasSpecialChar(str)) return false;//added by lijq 20020801
     if (str == "") return false;
     if (str.length < MIN_CARDLENGTH) return false;
     //var suffix = str.substring(str.length-AREA_LENGTH-NUMBER_LENGTH);
     //for(var i=0;i<suffix.length;i++){
     // if (!isNumber(suffix.charAt(i)))
     //  return false;
     //}
     return true;
    }


    /**********************************/
    /*****    检查身份证的合法性  *****/
    /**********************************/
    function isValidIDCard(s) {
     s = trim(s);
         if(s.length==15){
             for(i=0;i<s.length;i++)
                    if(!(isNumber(s.charAt(i)))){
                      return false;
                  }       
             return true;
         }
         else if(s.length==18){
             for(i=0;i<s.length-1;i++)
                  if(!(isNumber(s.charAt(i)))){
                      return false;
                  }
            return true;
               
         }
        return false
    }


    /**********************************/
    /*****    检查目录的合法性    *****/
    /**********************************/
    function isValidDir(str)
    {
        len = str.length;
        if((str.charAt(0) != '/') || (str.charAt(len - 1) == '/')) return false;
        if (str.indexOf('//') != -1) return false;
        return true;
    }


    /**********************************/
    /*****     检查日期合法性     *****/
    /**********************************/
    function isValidBirthday(year,month,day){
        if(year.length!=4) {
            alert("请输入四位年份如1988");
            return false;
        }
        validstr="0123456789";
        for(i=0;i<4;i++){
            if(validstr.indexOf(year.charAt(i))==-1){
                alert("生日输入有误!");           
                return false;
            }
        }
        //从1900年到当前年
        var today = new Date();
        var currentYear=today.getYear() ;//年
       
        if(year*1>currentYear || year*1<1900){
            alert("年份输入有误!");
            return false;
        }
        if(month=="04"||month=="06"||month=="09"||month=="11") {
              if(day=="31") {
                  alert("本月没有31日!");
                  return false;
              }
          }
         if(month=="02") {
              if(year%4==0&&year%100!=0||year%400==0) {   /*闰年 */
                  if(day=="30"||day=="31") {
                      alert("本月没有"+day+"日!");
                      return false;
                  }
              }
              else {      /*不是闰年*/
                  if(day=="29"||day=="30"||day=="31") {
                      alert("本月没有"+day+"日!");
                      return false;
                  }
              }
          }
       
        return true;
    }


    /**********************************/
    /*****        捕捉回车        *****/
    /**********************************/
    function keyDown(){
            var keycode=window.event.keyCode;
            if(keycode==13){
             //do sth like check();
            }
    }
    //指定回车事件document.οnkeydοwn=keyDown;

    //以下为日期的javascript


    <!-- Begin  //place these scripts within BODY tag if you are using IE 4.0 or below.
    //****************************************************************************
    // PopCalendar 3.50, Emailware(please mail&commend me if u like it)
    // Originally coded by Liming(Victor) Weng, email: victorwon@netease.com
    // Release date: 2000.3.13
    // Anyone may modify it to satify his needs, but please leave this comment ahead.
    //****************************************************************************

    var gdCtrl = new Object();
    var goSelectTag = new Array();
    var gcGray = "#808080";
    var gcToggle = "#ffff00";
    var gcBG = "#cccccc";

    var gdCurDate = new Date();
    var giYear = gdCurDate.getFullYear();
    var giMonth = gdCurDate.getMonth()+1;
    var giDay = gdCurDate.getDate();

    //****************************************************************************
    // Param: popCtrl is the widget beyond which you want this calendar to appear;
    //        dateCtrl is the widget into which you want to put the selected date.
    // i.e.: <input type="text" name="dc" style="text-align:center" readonly><INPUT type="button" value="V" οnclick="fPopCalendar(dc,dc);return false">
    //****************************************************************************
    function fPopCalendar(popCtrl, dateCtrl){
      event.cancelBubble=true;
      gdCtrl = dateCtrl;
      var dateValue = popCtrl.value;
      if (dateValue != "") {
       arrDate = dateValue.split("-");
       var selYear = arrDate[0];
       var selMonth = arrDate[1]*1;
       fSetYearMon(selYear,selMonth);
      }else
       fSetYearMon(giYear, giMonth);
      var point = fGetXY(popCtrl);
      with (VicPopCal.style) {
       left = point.x;
     top  = point.y+popCtrl.offsetHeight+1;
     width = VicPopCal.offsetWidth;
     height = VicPopCal.offsetHeight;
     fToggleTags(point);
     visibility = 'visible';
      }
      VicPopCal.focus();
    }

    // 可以在这里修改最终的格式
    function fSetDate(iYear, iMonth, iDay){
     iMonth = "" + iMonth;
     iDay = "" + iDay;
     //alert(iMonth.length);
      if(iMonth.length == 1) iMonth = "0" + iMonth;// 成为 01, 02
      if(iDay.length == 1) iDay = "0" + iDay;// 成为 01, 02
      gdCtrl.value = iYear+"-"+iMonth+"-"+iDay; //Here, you could modify the locale as you need !!!!
      fHideCalendar();
    }

    function fHideCalendar(){
      VicPopCal.style.visibility = "hidden";
      for (i in goSelectTag)
       goSelectTag[i].style.visibility = "visible";
      goSelectTag.length = 0;
    }

    function fSetSelected(aCell){
      var iOffset = 0;
      var iYear = parseInt(tbSelYear.value);
      var iMonth = parseInt(tbSelMonth.value);

      aCell.bgColor = gcBG;
      with (aCell.children["cellText"]){
       var iDay = parseInt(innerText);
       if (color==gcGray)
      iOffset = (Victor<10)?-1:1;
     iMonth += iOffset;
     if (iMonth<1) {
      iYear--;
      iMonth = 12;
     }else if (iMonth>12){
      iYear++;
      iMonth = 1;
     }
      }
      fSetDate(iYear, iMonth, iDay);
    }

    function Point(iX, iY){
     this.x = iX;
     this.y = iY;
    }

    function fBuildCal(iYear, iMonth) {
      var aMonth=new Array();
      for(i=1;i<7;i++)
       aMonth[i]=new Array(i);

      var dCalDate=new Date(iYear, iMonth-1, 1);
      var iDayOfFirst=dCalDate.getDay();
      var iDaysInMonth=new Date(iYear, iMonth, 0).getDate();
      var iOffsetLast=new Date(iYear, iMonth-1, 0).getDate()-iDayOfFirst+1;
      var iDate = 1;
      var iNext = 1;

      for (d = 0; d < 7; d++)
     aMonth[1][d] = (d<iDayOfFirst)?-(iOffsetLast+d):iDate++;
      for (w = 2; w < 7; w++)
       for (d = 0; d < 7; d++)
      aMonth[w][d] = (iDate<=iDaysInMonth)?iDate++:-(iNext++);
      return aMonth;
    }

    function fDrawCal(iYear, iMonth, iCellHeight, iDateTextSize) {
      var WeekDay = new Array("日","一","二","三","四","五","六");
      var styleTD = " bgcolor='"+gcBG+"' bordercolor='"+gcBG+"' valign='middle' align='center' height='"+iCellHeight+"' style='font:bold "+iDateTextSize+" 宋体;";            //Coded by Liming Weng(Victor Won) email:victorwon@netease.com

      with (document) {
     write("<tr>");
     for(i=0; i<7; i++)
      write("<td "+styleTD+"color:#990099' >" + WeekDay[i] + "</td>");
     write("</tr>");

       for (w = 1; w < 7; w++) {
      write("<tr>");
      for (d = 0; d < 7; d++) {
       write("<td id=calCell "+styleTD+"cursor:hand;' onMouseOver='this.bgColor=gcToggle' onMouseOut='this.bgColor=gcBG' οnclick='fSetSelected(this)'>");
       write("<font id=cellText Victor='Liming Weng'> </font>");
       write("</td>")
      }
      write("</tr>");
     }
      }
    }

    function fUpdateCal(iYear, iMonth) {
      myMonth = fBuildCal(iYear, iMonth);
      var i = 0;
      for (w = 0; w < 6; w++)
     for (d = 0; d < 7; d++)
      with (cellText[(7*w)+d]) {
       Victor = i++;
       if (myMonth[w+1][d]<0) {
        color = gcGray;
        innerText = -myMonth[w+1][d];
       }else{
        color = ((d==0)||(d==6))?"red":"black";
        innerText = myMonth[w+1][d];
       }
      }
    }

    function fSetYearMon(iYear, iMon){
      tbSelMonth.options[iMon-1].selected = true;
      for (i = 0; i < tbSelYear.length; i++)
     if (tbSelYear.options[i].value == iYear)
      tbSelYear.options[i].selected = true;
      fUpdateCal(iYear, iMon);
    }

    function fPrevMonth(){
      var iMon = tbSelMonth.value;
      var iYear = tbSelYear.value;

      if (--iMon<1) {
       iMon = 12;
       iYear--;
      }

      fSetYearMon(iYear, iMon);
    }

    function fNextMonth(){
      var iMon = tbSelMonth.value;
      var iYear = tbSelYear.value;

      if (++iMon>12) {
       iMon = 1;
       iYear++;
      }

      fSetYearMon(iYear, iMon);
    }

    function fToggleTags(){
      with (document.all.tags("SELECT")){
      for (i=0; i<length; i++)
       if ((item(i).Victor!="Won")&&fTagInBound(item(i))){
        item(i).style.visibility = "hidden";
        goSelectTag[goSelectTag.length] = item(i);
       }
      }
    }

    function fTagInBound(aTag){
      with (VicPopCal.style){
       var l = parseInt(left);
       var t = parseInt(top);
       var r = l+parseInt(width);
       var b = t+parseInt(height);
     var ptLT = fGetXY(aTag);
     return !((ptLT.x>r)||(ptLT.x+aTag.offsetWidth<l)||(ptLT.y>b)||(ptLT.y+aTag.offsetHeight<t));
      }
    }

    function fGetXY(aTag){
      var oTmp = aTag;
      var pt = new Point(0,0);
      do {
       pt.x += oTmp.offsetLeft;
       pt.y += oTmp.offsetTop;
       oTmp = oTmp.offsetParent;
      } while(oTmp.tagName!="BODY");
      return pt;
    }

    var gMonths = new Array("&nbsp;一月","&nbsp;二月","&nbsp;三月","&nbsp;四月","&nbsp;五月","&nbsp;六月","&nbsp;七月","&nbsp;八月","&nbsp;九月","&nbsp;十月","十一月","十二月");

    with (document) {
    write("<Div id='VicPopCal' οnclick='event.cancelBubble=true' style='POSITION:absolute;visibility:hidden;border:2px ridge;width:10;z-index:100;'>");
    write("<table border='0' bgcolor='#6699cc'>");
    write("<TR>");
    write("<td valign='middle' align='center'><input type='button' name='PrevMonth' value='<' style='height:20;width:20;FONT:bold' onClick='fPrevMonth()'>");
    write("&nbsp;<SELECT name='tbSelYear' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
    for(i=1910;i<2030;i++)
     write("<OPTION value='"+i+"'>"+i+"年</OPTION>");
    write("</SELECT>");
    write("&nbsp;<select name='tbSelMonth' onChange='fUpdateCal(tbSelYear.value, tbSelMonth.value)' Victor='Won'>");
    for (i=0; i<12; i++)
     write("<option value='"+(i+1)+"'>"+gMonths[i]+"</option>");
    write("</SELECT>");
    write("&nbsp;<input type='button' name='PrevMonth' value='>' style='height:20;width:20;FONT:bold' οnclick='fNextMonth()'>");
    write("</td>");
    write("</TR><TR>");
    write("<td align='center'>");
    write("<DIV style='background-color:teal'><table width='100%' border='0' cellpadding='2'>");
    fDrawCal(giYear, giMonth, 12, 12);
    write("</table></DIV>");
    write("</td>");
    write("</TR><TR><TD align='center'>");
    write("<B style='cursor:hand; font: bold 14 宋体' οnclick='fSetDate(giYear,giMonth,giDay)' onMouseOver='this.style.color=gcToggle' onMouseOut='this.style.color=0'>今天:"+giYear+"年"+giMonth+"月"+giDay+"日</B>");
    write("</TD></TR>");
    write("</TABLE></Div>");
    write("<SCRIPT event=onclick() for=document>fHideCalendar()</SCRIPT>");
    }

    // End -- Coded by Liming Weng, email: victorwon@netease.com -->

     


    function arrowtag(namestr,valuestr,size){
            istr=unescape('%u25bc');
       document.write("<input type='text' name='"+namestr+"' readonly value='"+valuestr+"' size='"+size
        // 这里改用图片 images/button_down.gif来作为下拉按钮
        + "' style='text-align: center'><input style='font-size:8pt;font-family: 宋体;' type='image' class='s03' src='images/button_down.gif' οnclick='fPopCalendar("+namestr+","+namestr+");return false;' "
        + " onMouseOver=/"this.src='images/button_down_hover.gif';/" onMouseOut=/"this.src='images/button_down.gif';/" title='点击这里选择一个日期'>");
      }


    /**********************************/
    /***是否为正确的日期(yyyy-mm-dd)***/
    /**********************************/

    function isValidDate(datestr){
     var dateArr = datestr.split("-");
     if (dateArr.length != 3 ) return false;
     for (i=0;i<3;i++){
      if (!isInteger(dateArr[i]))
       return false;
     }
     return true;
    }


    /**********************************/
    /***   日期date1是否大于date2   ***/
    /**********************************/
    function dateBDate(date1,date2){
     if (!isValidDate(date1) || !isValidDate(date2))
      return false;
     var date1Arr = date1.split("-");
     var date2Arr = date2.split("-");
     
     var year1 = parseInt(date1Arr[0]);
     var month1 = parseInt(date1Arr[1]*1);
     var date1 = parseInt(date1Arr[2]*1);
     
     var year2 = parseInt(date2Arr[0]);
     var month2 = parseInt(date2Arr[1]*1);
     var date2 = parseInt(date2Arr[2]*1);
     
     if (year1 < year2) return false;
     if (year1 == year2){//年相等,判断月
      if(month1 < month2) return false;
      if(month1 == month2){//月相等,判断日
       if (date1 <= date2) return false;
      }
     }
     return true;
    }

    /**********************************/
    /***   日期date1是否等于date2   ***/
    /*****added by Lijq 2002-5-18******/
    /**********************************/
    function dateEQUDate(date1,date2){
     if (!isValidDate(date1) || !isValidDate(date2))
      return false;
     var date1Arr = date1.split("-");
     var date2Arr = date2.split("-");
     
     var year1 = parseInt(date1Arr[0]);
     var month1 = parseInt(date1Arr[1]*1);
     var date1 = parseInt(date1Arr[2]*1);
     
     var year2 = parseInt(date2Arr[0]);
     var month2 = parseInt(date2Arr[1]*1);
     var date2 = parseInt(date2Arr[2]*1);
     
     if ((year1 != year2)||(month1 != month2)||(date1 != date2)) {
       return false;
     }
     return true;
    }

    /**********************************/
    /*日期datestr是否大于等于当前日期**/
    /**********************************/

    function dateBECurrent(datestr){
     if (!isValidDate(datestr)) return false;
     var currentDate = new Date();
     var cYear = currentDate.getYear();
     var cMonth = currentDate.getMonth()+1;
     var cDate = currentDate.getDate();
     var dateArr = datestr.split("-");
     var year = parseInt(dateArr[0]);
     var month = parseInt(dateArr[1]*1);
     var date = parseInt(dateArr[2]*1);
     if (year < cYear) return false;
     if (year == cYear){//年相等,判断月
      if(month < cMonth) return false;
      if(month == cMonth){//月相等,判断日
       if (date < cDate) return false;
      }
     }
     return true;
    }

    /**********************************/
    /*日期datestr是否大于当前日期**/
    /** add by humh **/
    /**********************************/

    function dateBCurrent(datestr){
     if (!isValidDate(datestr)) return false;
     var currentDate = new Date();
     var cYear = currentDate.getYear();
     var cMonth = currentDate.getMonth()+1;
     var cDate = currentDate.getDate();
     var dateArr = datestr.split("-");
     var year = parseInt(dateArr[0]);
     var month = parseInt(dateArr[1]*1);
     var date = parseInt(dateArr[2]*1);
     if (year < cYear) return false;
     if (year == cYear){//年相等,判断月
      if(month < cMonth) return false;
      if(month == cMonth){//月相等,判断日
       if (date <= cDate) return false;
      }
     }
     return true;
    }

    /**********************************/
    /*开始日期、结束日期的合法性检查**/
    /** add by hu_minghui **/
    /**********************************/

    function isDate(datestr1,datestr2){
     if (!isValidDate(datestr1) || !isValidDate(datestr2))
      return false;
     
     
     if (dateBCurrent(datestr1)){
      alert("开始日期不得大于当前日期!");
      return false;
            }
            if (dateBCurrent(datestr2)){
      alert("结束日期不得大于当前日期!");
      return false;
            }
            /*
            if(dateBDate(datestr2,datestr1)){       
      alert("结束日期应大于开始日期!");
      return false;
            }
            */

            var date1Arr = datestr1.split("-");
     var year1    = parseInt(date1Arr[0]);
     var month1   = parseInt(date1Arr[1]);
     var Date1    = parseInt(date1Arr[2]);
     
     var date2Arr = datestr2.split("-");
     var year2    = parseInt(date2Arr[0]);
     var month2   = parseInt(date2Arr[1]);
     var Date2    = parseInt(date2Arr[2]);
     
     if (year2 < year1) {
        alert("开始日期不能大于结束日期,请重新输入");
                      return false;
            }
     
     if (year2 > year1){//跨年份
      if( year2 - year1 > 1 ){
                            alert("清单查询不能超过1个月,请重新输入");
                            return false;
                    }
                    else if( year2 - year1 == 1){
                            if( (month1==12)&&(month2==1) ){
                                   if( Date2 > Date1 ){                  
                                       alert("清单查询不能超过1个月,请重新输入");
                                       return false;
                                   }
                            }
                            else {
                                   alert("清单查询不能超过1个月,请重新输入");
                                   return false;
                            } 
                    } 
     }
     else if (year2 == year1){//年相等,判断月
      
                    if(month2 < month1){ //年份相等,终止月份小于起始月份
                      alert("开始日期不能大于结束日期,请重新输入");
                      return false;
                    }  
      if(month2 == month1){//月相等,判断日
       if (Date2 < Date1){
        alert("开始日期不能大于结束日期,请重新输入");
                      return false;
                     }
      }
     
      else{ 
                            if((month2 - month1 == 1)&&(Date2 > Date1)){//判断日
                                   alert("清单查询不能超过1个月,请重新输入");
                                   return false;
                            } 
      }
      if( month2 - month1 > 1){
           alert("清单查询不能超过1个月,请重新输入");
                         return false;
                    }
     }
     return true;
    }


    /*
      统一显示页面的输出信息如:(错误、警告、确认、提示)
     2002-06-30 :gudg
    */
    /*
    type: 信息类型
        error---错误
        alert---警告
        info ---提示
        confirm---确认
    title: 信息标题栏
        标题栏内容缺省为系统指定的信息
        错误为:错误信息
        警告为:警告信息
        提示为:提示信息
        确认为:确认信息
    content: 信息内容
        信息的内容主体
    buttonflag: 是否显示缺省的返回按钮
        false:不显示
        其他:显示   
        缺省参数为显示
    */
    function OutPut(type,content,title,buttonflag){
     /*分析参数*/
     if (arguments.length < 4){
      document.writeln("<center><h3>JavaScript方法<font color=blue>[OutPut]</font>调用错误:没有给全参数</h3></center>");
      return;
     }
     if(!((type=="error")||(type=="alert")||(type=="info")||(type=="confirm"))){
      document.writeln("<center><h3>JavaScript方法<font color=blue>[OutPut]</font>调用错误:无效的类型</h3></center>");
      return;
     }
     if(content.length==0){
      document.writeln("<center><h3>JavaScript方法<font color=blue>[OutPut]</font>调用错误:内容为空</h3></center>");
      return;
     }
     document.writeln("<center>");
     document.writeln("<table cellpadding=0 cellspacing=0 width=48% bgcolor=#777777 align=center>");
     document.writeln("<tr><td><table cellpadding=2 cellspacing=1 width=100%>");
     document.writeln("<tr><td bgcolor=/"#6699cc/" width=100% align=center valign=middle>");
     if(type=="error"){  
       document.writeln("<font color=red><b><h4>");
       if(title.length==0)
        document.writeln("错误信息:");
       else
        document.writeln(title);
       document.writeln("</h4></b></font>");

     }
     if(type=="alert"){
      document.writeln("<font color=yellow><b><h4>");
      if(title.length==0)
       document.writeln("警告信息:");
      else
       document.writeln(title);
      document.writeln("</h4></b></font>");
     }
     if(type=="info"){
      document.writeln("<font color=green><b><h4>");
      if(title.length==0)
       document.writeln("提示信息:");
      else
       document.writeln(title);
      document.writeln("</h4></b></font>");  
     }
     if(type=="confirm"){
      document.writeln("<font color=blue><b><h4>");
      if(title.length==0)
       document.writeln("确认信息:");
      else
       document.writeln(title);
      document.writeln("</h4></b></font>");  
     }

     document.writeln("<td bgcolor=#3A6EA5 width=8% align=center>");
     /*显示相应的图标*/
     if(type=="error"){
      document.writeln("<img src=/"../../images/error.gif/" ");
     }
     if(type=="alert"){
      document.writeln("<img src=/"../../images/alert.gif/" ");
     }
     if(type=="info"){
      document.writeln("<img src=/"../../images/message.gif/" ");
     }
     if(type=="confirm"){
      document.writeln("<img src=/"../../images/ask.gif/" ");
     }
     
     document.writeln("border=0 width=36 height=36></td>");
     
     document.writeln("<tr><td colspan=2 bgcolor=#DFE7DF  align=center>");
     document.writeln("<br><font face=/"楷体_GB2312/" size=/"4/" color=/"#000000/">");
     document.writeln(content);
     document.writeln("</font><p>");
     if(buttonflag=="false"){}
     else{
      document.writeln("<input type=/"Button/" value=/"  返  回  /" οnclick=/"history.back()/" class=/"s03/">"); 
     }
     document.writeln("</td></tr></table></td></tr></table></center>");
    }

    /**********************************/
    /*****  去除@和其后面的卡域名 *****/
    /**********************************/
    function cutAtDomain(str){
     str = trim(str);
     len = str.length;
     //没有@或者@在首尾
     var index = str.indexOf('@');
     if(index != -1)
     {
      str = str.substring(0,index);
     }
     
       return str;
    }

    **********************************************************************************************

    **************************************************************************************************

     test.html代码如下:

    <!-- 导入日历控件脚本 -->
    <Script src="dateutil.js"></Script>

    <form action="">
    开始日期:
    <SCRIPT language="JavaScript">
    date = new Date();
    year = date.getYear();
    month = date.getMonth() + 1;
    day = date.getDate();
    // 改变月份和日期为两位
    month = month + "";
    day = day + "";
    if(month.length == 1) month = "0" + month;
    if(day.length == 1) day = "0" + day;
    datestr = year+"-"+month+"-"+day;
    // 用法:arrowtag('表单名', '日期字符串', '表单域长度');
    arrowtag("beginDate",datestr,12);
    </SCRIPT>

    结束日期:
    <SCRIPT language="JavaScript">
    date = new Date();
    year = date.getYear();
    month = date.getMonth() + 1;
    day = date.getDate();
    // 改变月份和日期为两位
    month = month + "";
    day = day + "";
    if(month.length == 1) month = "0" + month;
    if(day.length == 1) day = "0" + day;
    datestr = year+"-"+month+"-"+day;
    // 用法:arrowtag('表单名', '日期字符串', '表单域长度');
    arrowtag("endDate",datestr,12);
    </SCRIPT>
    <br/>
     <input type=submit>
    </form>

     

     

    展开全文
  • jsp页面中的日期选择框

    热门讨论 2008-06-09 21:26:34
    jsp页面中的日期选择框
  • jsp中插入日期选择框

    千次阅读 2017-03-30 21:10:12
    今天尝试在页面中加入日期选择器,选择的是my97插件。 一、下载my97插件并将整个包复制到对应文件中  在这里我停留了一段时间,原因是我将整个包直接放在工程目录下,导致界面中虽然出了但是并不能选择日期,...

    参考网站:http://www.my97.net/dp/demo/resource/2.2.asp

    今天尝试在页面中加入日期选择器,选择的是my97插件。

    一、下载my97插件并将整个包复制到对应文件中

                在这里我停留了一段时间,原因是我将整个包直接放在工程目录下,导致界面中虽然出框了但是并不能选择日期,正确的做法是放在需要此功能的最小文件夹中,比如说我要在statistic.jsp中加入此功能,它所属直接文件夹是cost。如图


    然后按照上诉网站增加相应语句就好。


    展开全文
  • JSP页面的日期控件可以弹出选择框选择日期 input框的如下 <input type="text" name="starttime" readonly="readonly"/> <input type="text" name="buildtime" readonly="readonly"/> <input type=...
  • /**//**//**//** * 使用时先倒入该js*本日历选择控件由tiannet根据前人经验完善而得。大部分代码来自meizz的日历控件。...*使用方法:* (1)只选择日期 * (2)选择日期和小时 * (3)选择日期和小时及分钟
  • 最近在我的一个项目需要用一个日期插件来显示时间,在网上找了一下,最后决定使用My97DatePicker,颜色好看,布局也很合理,但是用的时候遇到很多问题,最大的问题有一下两个: 在jsp文件中无法导入js文件(My...
  • JSP、Java实现选择框多级连动环境:DB2 9.1J2SDK 1.5Servlet 2.4一、问题在web开发中,经常会遇到两级三级甚至更多级的选项框连动的情况,一般情况下都考虑用js来实现,但是在有大量等级选项的情况下,js实现也很...
  • 日期时间选择框

    千次阅读 2018-10-24 14:06:13
    日期时间选择框: 1) jsp 部分: &lt;div class="form-group"&gt; &lt;label for="dtp_input1" class="control-label"&gt;开始时间:&lt;/label&gt; &lt...
  • JSP、Java实现选择框多级连动   环境:DB2 9.1J2SDK 1.5Servlet 2.4     一、问题 在web开发中,经常会遇到两级三级甚至更多级的选项框连动的情况,一般情况下都考虑用js来实现,但是...
  • 展开全部response.setHeader("Cache-Control", "no-store");response.setHeader("Pragma", "no-cache");response.setDateHeader("Expires...选择日期SELECT {FONT-SIZE: 9pt; LINE-HEIGHT: 11pt}TEXTAREA {FONT-SIZE...
  • 或者,将日期时间的输入变成几个下拉列表,由用户选择年月日时分秒。这里给出一个用javascript编写的日期时间输入验证脚本。这个脚本可以使一个普通的输入框变成日期时间输入框。你只能在这个输入框里输入日期时间...
  • input type="text" class="layui-input" id="time" placeholder="请选择起始日期" onclick="$('#time').removeAttr('lay-key');" style="width:170%;margin-bottom:10px"> 同时引入所需的js架包: <script ...
  • jsp写的日期控件,上面是下拉列表(年和月),选择下拉列表日期会自动更新,自己可以在每个日期上加链接,实现点击某个日期实现一个操作的功能
  • 网页开发中,为了控制用户输入的合法性,提高交互性。在输入日期时,我们选择jquery插件来实现相关功能。...效果:弹出日期选择框。请您选择。 下载地址:http://download.csdn.net/detail/cs1992
  • 组合选择框(selectDouble)标签 下拉选择框(select)标签 树形菜单(TreeDB)标签<不带Checkbox框> 树形菜单(TreeMenuCheckbox)标签 选项卡(tabs/ Divs)标签 数据查询录入(dataselectinput)标签到 QQ菜单标签 下拉选择...
  • 需求:在用户获取完日期时间后,监听input的值改变事件,然后再操作值 H5代码 ...大概就是点这个日期选择器 ![图片说明](https://img-ask.csdn.net/upload/201908/01/1564625284_725110.jpg)
  • jsp 分页 树型菜单

    2009-09-14 15:42:16
    组合选择框(selectDouble)标签 下拉选择框(select)标签 树形菜单(TreeDB)标签<不带Checkbox框> 树形菜单(TreeMenuCheckbox)标签 选项卡(tabs/ Divs)标签 数据查询录入(dataselectinput)标签到 QQ菜单标签 下拉选择...
  • jsp 分页标签

    2008-04-22 11:26:24
    数据表格(DBTable)标签 时间日期(DateOrTime)标签 组合选择框(selectDouble)标签 下拉选择框(select)标签 树形菜单(TreeDB)标签<不带Checkbox框> 树形菜单(TreeMenuCheckbox)标签 选项...
  • 一个方便的时间插件,利用该插件,可以方便的生成一个时间日期选择框,并且时间日期的格式还是可以自定义的,方便开发人员对时间的选择
  • 45. 点击文本弹出一个选择框,选中值后返回并显示 46. 关闭框架页面回到没框架的页面? 47. 选中多条记录一次性删除? 48. 自动获取页面文件名? 49. 在JSP中调用ActiveX控件? 50. 使用SmartUpload实现文件上传? 51. ...
  • 一个JSP标签插件实例Noka tag源码,一组专一为JSP而开发的软件标签系统,支持多种数据库的集数据处理与显示的标签包,它包括以下组件:数据表格(DBTable)标签...组合选择框(selectDouble)标签;下拉选择等实用功能。
  • Tomcat5.5链接Oracle、DB2、MySQL数据源实现JSP下拉框的填充作者:leizhimin...通常JSP页面中要显示这些下拉选择框的时候,都是按照标准业务去做,比如通过后台方法获取到要显示代码和名称的集合,然后传递个前台...
  • JSP实例编程100例

    2018-05-09 21:45:35
    52、选择钮的使用 53、检查的使用 54、群组检查的使用 55、数字、货币、百分数格式化 56、日期格式化 57、JSTL设置语言地区 58、Cookie数据的存取 59、session有效时间的设置与取得 60、session时间与ID 61、...
  • 分页QQ菜单jsp标签

    2008-12-17 04:09:47
    3.1 数据表格(DBTable)...3.3 组合选择框(selectDouble)标签 3.4 下拉选择框(select)标签 1.1 树形菜单(TreeDB)标签<不带Checkbox框> 3.6 树形菜单(TreeMenuCheckbox)标签 3.7 选项卡(tabs/ Divs)标签 3.9 QQ菜单标签
  • 一个下拉选,选一个方案名,按确定,根据方案名“产生”文本框日期选择框实现方案 (方案有:选一个时间段[像日期那样自主选择];写查询条件[文字或字符的模糊查询]) 怎么实现该功能,另外怎么获取选到的值并把参数...
  • jsp编程技巧集锦

    2008-03-19 17:23:17
    点击文本弹出一个选择框,选中值后返回并显示 46. 关闭框架页面回到没框架的页面? 47. 选中多条记录一次性删除? 48. 自动获取页面文件名? 49. 在JSP中调用ActiveX控件? 50. 使用SmartUpload实现...
  • 这个方法做差旅和机票时,比较有用,其他成熟的日期框架,在网上都能找到。 涉及到Java的方法,都在上一条博客中,这里只是jsp的... 日期选择 //此处循环出日历页面 int yyyy = year; int MM = month; //a

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 158
精华内容 63
关键字:

jsp日期选择框