zoukankan      html  css  js  c++  java
  • javascript常用方法

    function openBigWin(temUrl)
    {
     var Wid;
     var Hei;
     var Type;

     Wid=700;
     Hei=500;
     Type=\"_blank\";

     window.open (temUrl,Type, \"scrollbars=yes,resizable=yes,toolbar=1,top=10,left=130,width=\"+Wid+\",height=\"+ Hei );
     return true;
    }

    function openMiddleWin(temUrl)
    {

       var Wid=500;
            var Hei=400;

     var left=(screen.width-Wid)/2;
     var top=(screen.height-Hei)/2;

     if(top>100)
      top=100;

     var newWin=window.open(temUrl,\"_blank\", \"scrollbars=yes,resizable=yes,top=\"+top+\",toolbar=0,menubar=1,left=\"+left+\",width=\"+Wid+\",height=\"+ Hei );

     return newWin;
    }

    function openWin(temUrl,Type,Wid,Hei)
    {
     window.open (temUrl,Type, \"scrollbars=no,resizable=yes,top=10,toolbar=0,left=130,width=\"+Wid+\",height=\"+ Hei );
     return true;
    }

    function openNewWin(temUrl,left,top,Wid,Hei)
    {

     left=(screen.width-Wid)/2;
     top=(screen.height-Hei)/2;

     if(top>100)
      top=100;

     var newWin=window.open(temUrl,\"_blank\", \"scrollbars=yes,resizable=yes,top=\"+top+\",toolbar=0,menubar=1,left=\"+left+\",width=\"+Wid+\",height=\"+ Hei );

     return newWin;
    }

    function openNewWin2(winName,temUrl,Wid,Hei)
    {

     var left;
     var top;

     left=(screen.width-Wid)/2;
     top=(screen.height-Hei)/2;

     if(top>100)
      top=100;

     var newWin=window.open(temUrl,winName, \"scrollbars=yes,resizable=yes,top=\"+top+\",toolbar=0,menubar=1,left=\"+left+\",width=\"+Wid+\",height=\"+ Hei );
     newWin.focus();

     return newWin;
    }

    function openWin(temUrl,Type,Wid,Hei)
    {
     Wid=700;
     Hei=500;
     Type=\"_blank\";

     window.open (temUrl,Type, \"scrollbars=yes,resizable=yes,top=10,toolbar=1,left=130,width=\"+Wid+\",height=\"+ Hei );
     return true;
    }

    function isAlpha(s){

     for (var i=0; i<s.length; i++){

            var Char = s.charAt(i);
            if ((Char < \"a\" || Char > \"z\") && (Char < \"A\" || Char > \"Z\"))
                return false;
        }
        return true;
    }

    function isNumeric(p){

     if (p == \"\")
      return false;

      var l = p.length;
      var count=0;

      for(var i=0; i<l; i++) {
        var digit = p.charAt(i);
        if(digit == \".\" ){
         ++count;
          if(count>1) return false;
         }else if(digit < \"0\" || digit > \"9\")
         return false;
     }

      return true;
    }

    function isEmail(email){
     invalidChars = \" /;,:{}[]|*%$#!()`<>?\";
     if (email == \"\") {
      return false;
      }
     for (i=0; i< invalidChars.length; i++){

      badChar = invalidChars.charAt(i) ;
      if (email.indexOf(badChar,0) > -1){
       return false;
       }
      }
     atPos = email.indexOf(\"@\",1);
     if (atPos == -1){
       return false;
      }
     if (email.indexOf(\"@\", atPos+1) != -1) {
       return false;
      }

     periodPos = email.indexOf(\".\",atPos)
     if(periodPos == -1){
        return false;
         }

     if ( atPos +2 > periodPos) {
       return false;
      }

     if ( periodPos +3 > email.length){
       return false;
     }

     return true;
    }

    // pageNO :this pageNO
    //nextPage: first,last,next,up,number(eg:777777)

    function goPage(searchForm,pageNO,pageCounter,nextPage){

     var url;
     var customPageNO;

     //alert(\"hello\");
     url=searchForm.action+\"&pageNO=\";
     if (nextPage==\"first\"){

      if (pageNO==1){
       alert(\"已经是第一页!\");
       return false;
      }else{
       pageNO=1;
       url=url+pageNO;

       searchForm.action=url;
       searchForm.submit();
      }

     }else  if (nextPage==\"up\"){

      if (pageNO==1){
       alert(\"已经是第一页!\");
       return false;
      }else{
       pageNO=pageNO-1;
       url=url+pageNO;

       searchForm.action=url;
       searchForm.submit();
      }

     }else  if (nextPage==\"next\"){


      if (pageNO==pageCounter){
       alert(\"已经是最后一页\");
       return false;
      }else{

       pageNO=parseInt(pageNO)+1+\"\";
       url=url+pageNO;
       searchForm.action=url;
       searchForm.submit();
      }

     }else  if (nextPage==\"last\"){

      //alert(\"pageNO:\" +pageNO + \"  pageCounter:\"+pageCounter);

      if (pageNO==pageCounter){
       alert(\"已经是最后一页\");
       return false;
      }else{

       pageNO=pageCounter
       url=url+pageNO;

       searchForm.action=url;
       searchForm.submit();


      }

     }else if (isNumeric(nextPage) ){


      if (pageNO==nextPage){

       alert(\"已经是第\" +pageNO +\"页!\");
       return false;

      }

      pageNO=nextPage;

      if (pageNO>=1 && pageNO<=pageCounter){

       url=url+pageNO;


       searchForm.action=url;
       searchForm.submit();

      }else{

       alert(\"页面超出了范围!\");
       return false;


      }

     

     }
     return false;
    }


    /*
      文件名: check_data.js
      功  能: 主要进行数据校验
      更  新: 金永俊 2004年4月16日
         戴  嘉 2004.05.11
    */

    //-------------------------------
    //  函数名:isNull(i_field,i_value)
    //  功能介绍:检查输入是否为非空
    //  参数说明:数据项,输入的对应值
    //  返回值  :0-非空,1-为空
    //-------------------------------
    function isNull(i_field,i_value)
    {
     if (i_value==null || jstrim(i_value)==\"\")
     {
        return 1;
     }
     else
     {
         alert(\"\'\"+i_field+\"\' 要求为空!\");
         return 0;
     }
    }

    //-------------------------------
    //  函数名:notNull(i_field,i_value)
    //  功能介绍:检查输入是否为非空
    //  参数说明:数据项,输入的对应值
    //  返回值  :1-非空,0-为空
    //-------------------------------
    function notNull(i_field,i_value)
    {

     if (i_value==null || jstrim(i_value)==\"\")
     {
         alert(\"\'\"+i_field+\"\' 不可为空!\");
         return 0;
     }

     return 1;


    }

    //-------------------------------
    //  函数名:isNum(i_field,i_value)
    //  功能介绍:检查输入字符串是否为数字
    //  参数说明:数据项,输入的对应值
    //  返回值  :1-是数字,0-非数字
    //-------------------------------
    function isNum(i_field,i_value)
    {
        if (notNull(i_field,i_value)==0)
        {return 0;
        }

        re=new RegExp(\"[^0-9]\");
        var s;
        if(s=i_value.match(re))
         {
            alert(\"\'\"+i_field+\"\' 中含有非法字符 \'\"+s+\"\' !\");
            return 0;
         }
        return 1;
    }

    //-------------------------------
    //  函数名:isGreatNum(i_field,i_value,i_value1)
    //  功能介绍:检查输入字符串是否是数字并且大于i_value1
    //  参数说明:数据项,输入的对应值,比较数值
    //  返回值  :1-给定的i_value为数字且大于i_value1,
    //           0-非数字或者i_value小于等于i_value1
    //
    //  戴嘉 2004.05.11
    //-------------------------------
    function isGreatNum(i_field,i_value,i_value1)
    {
        //校验输入的是否为数值
        if(isNum(i_field,i_value)==0)
         return 0;
        else
        {
            if(i_value<=i_value1)
             return 0;
        }

        return 1;
    }

    //-------------------------------
    //  函数名:isSmallNum(i_field,i_value,i_value1)
    //  功能介绍:检查输入字符串是否是数字并且小于i_value1
    //  参数说明:数据项,输入的对应值,比较数值
    //  返回值  :1-给定的i_value为数字且小于i_value1,
    //           0-非数字或者i_value大于等于i_value1
    //
    //  戴嘉 2004.05.11
    //-------------------------------
    function isSmallNum(i_field,i_value,i_value1)
    {
        //校验输入的是否为数值
        if(isNum(i_field,i_value)==0)
         return 0;
        else
        {
            if(i_value>=i_value1)
             return 0;
        }

        return 1;
    }


    //-------------------------------
    //  函数名:isDate(i_field,thedate)
    //  功能介绍:校验字符串是否为日期格式
    //  参数说明:数据项,输入的字符串
    //  返回值  :0-不是,1--是
    //-------------------------------

    function isDate(i_field,thedate)
    {
      if (!(thedate.length==8 || thedate.length==10))
       {    alert(\"\'\"+i_field+\"\'日期格式不对,\\n要求为yyyymmdd或yyyy-mm-dd!\");
         return 0;
       }
      if (thedate.length==8)
      {
       thedate=thedate.substr(0,4)+\"-\"+thedate.substr(4,2)+\"-\"+thedate.substr(6,2);
      }

        var reg = /^(\\d{1,4})(-)(\\d{1,2})\\2(\\d{1,2})$/;
        var r = thedate.match(reg);

         if (r==null)
        {
           alert(\"请输入正确的\'\"+i_field+\"\' !\");
           return 0;

        }
        var d= new Date(r[1],r[3]-1,r[4]);
        var newStr=d.getFullYear()+r[2]+(d.getMonth()+1)+r[2]+d.getDate()
        var newDate=r[1]+r[2]+(r[3]-0)+r[2]+(r[4]-0)
        //alert(\"----------r:\"+r+\" d:\"+d+\" newStr:\"+newStr+\" newDate:\"+newDate);
        if (newStr==newDate)
             {
              return 1;
             }
         alert(\"\'\"+i_field+\"\'日期格式不对,\\n要求为yyyymmdd或yyyy-mm-dd!\");
         return 0;
    }

    //-------------------------------
    //  函数名:changeDate(thedate)
    //  功能介绍:日期yyyymmdd转换成yyyy-mm-dd格式
    //  参数说明:输入日期
    //  返回值  :0-不是,1--是
    //-------------------------------

    function changeDate(thedate)
    {

     if (thedate.length==8)
      {
       thedate=thedate.substr(0,4)+\"-\"+thedate.substr(4,2)+\"-\"+thedate.substr(6,2);
      }

         return thedate;

    }

    //-------------------------------
    //  函数名:isLength(i_field,i_length,i_value)
    //  功能介绍:检查输入值是否为指定长度
    //  参数说明:数据项,要求长度,值
    //  返回值  :1-是指定长度,0-不是
    //-------------------------------
    function isLength(i_field,i_length,i_value)
    {//  alert(\"---长度要求:\"+i_length+\" \"+i_value.length);
     if (!(i_value.length==i_length))
     {
         alert(\"\'\"+i_field+\"\' 的长度要求为\' \"+i_length+\" \'!\");
         return 0;
     }
     return 1;
    }

    //-------------------------------
    //  函数名:dyLength(i_field,i_length,i_value)
    //  功能介绍:检查输入值是否达到指定长度以上
    //  参数说明:数据项,要求长度,值
    //  返回值  :1-符合,0-不是
    //-------------------------------
    function dyLength(i_field,i_length,i_value)
    { //alert(\"---长度要求:\"+i_length+\" \"+i_value.length);
     if (i_value.length<i_length)
     {
         alert(\"\'\"+i_field+\"\' 的长度至少为 \'\"+i_length+\"\'!\");
         return 0;
     }
     return 1;
    }

    //-------------------------------
    //  函数名:xyLength(i_field,i_length,i_value)
    //  功能介绍:检查输入值不要超过指定长度
    //  参数说明:数据项,要求长度,值
    //  返回值  :1-符合,0-不是
    //-------------------------------
    function xyLength(i_field,i_length,i_value)
    { //alert(\"---长度要求:\"+i_length+\" \"+i_value.length);
     if (i_value.length>i_length)
     {
         alert(\"\'\"+i_field+\"\' 的长度最长为 \'\"+i_length+\"\' !\");
         return 0;
     }
     return 1;
    }

    //-------------------------------
    //  函数名:check_hm(标签,长度,i_value)
    //  参数说明:标签,长度,值。
    //  功能介绍:检查输入号码字符串长度是否满足;是否全数字。
    //  返回值  :1-是,false-不是
    //-------------------------------
    function check_hm(i_field,i_length,i_value)
    {

        if (isLength(i_field,i_length,i_value)==0)
        {
         return 0;
        }
        if (isNum(i_field,i_value)==0)
        {
         return 0;
        }
    return 1;
    }

    //-------------------------------
    //  函数名:check_yzbm(i_value)
    //  参数说明:邮政编码值。
    //  功能介绍:检查邮政编码是否是6位长数字。
    //  返回值  :1-是,false-不是
    //-------------------------------
    function check_yzbm(i_value)
    {

        if (isLength(\"邮政编码\",\"6\",i_value)==0)
        {
         return 0;
        }
        if (isNum(\"邮政编码\",i_value)==0)
        {
         return 0;
        }
    return 1;
    }//-------------------------------
    //  函数名:check_zjhm(zjmc,obj)
    //  参数说明:证件名称,证件号码。
    //  功能介绍:检查身份证号码合法性。
    //       对身份证检查是否为全数字;出生日期格式是否正确;是否<=18,<=70;校验码检查
    //  返回值  :1-是,0-不
    //-------------------------------
    function check_zjhm(zjmc,zjhm)
    {

      var birthday=\"\";
      var zjhm1=\"\";
      var zjhm2=\"\";

      var s=\"\";
      if (notNull(\"证件号码\",zjhm)==0)  { return 0;  }
      if(zjmc==\"A\")   //身份证号码
       {
           if(!(zjhm.length==15 || zjhm.length==18) )
          {
            alert(\"身份证长度不对,请检查!\") ;
                   return 0;
          }
            zjhm1=zjhm;
            if (zjhm.length==18)
                {
                    zjhm1=zjhm.substr(0,17) ;
                    zjhm2=zjhm.substr(17,1);
                }

             re=new RegExp(\"[^0-9]\");
      if(s=zjhm1.match(re))
         {
             alert(\"输入的值中含有非法字符\'\"+s+\"\'请检查!\");
             return 0;
                 }
            //取出生日期
            if(zjhm.length==15 )
                {
                   birthday=\"19\"+zjhm.substr(6,6);
                }
             else
                {
                 re=new RegExp(\"[^0-9X]\");
                   if(s=zjhm2.match(re))     //18位身份证对末位要求数字或字符
                   {
                       alert(\"输入的值中含有非法字符\'\"+s+\"\'请检查!\");
                       return 0;
                    }
                    birthday=zjhm.substr(6,8);
                }
               birthday=birthday.substr(0,4)+\"-\"+birthday.substr(4,2)+\"-\"+birthday.substr(6,2)
              //alert(\"birthday\"+birthday)

              if(isDate(\"证件号码\",birthday)==0)  //检查日期的合法性
              {
                 return 0;
              }

             var nl=cal_years(birthday);//求年龄

             //if (nl-0<18 || nl>70)
             if (nl-0<18)
         {
                 alert(\"年龄要求 18岁以上 ,当前 \"+nl+\" !\");
                return 0;
               }
              if(zjhm.length==18 )
              {
               return(sfzCheck(zjhm));  //对18位长的身份证进行末位校验
              }
           }
    else
     {if (zjhm.length>17){

            alert(\"非‘居民身份证’长度不得超过17位,请检查!\") ;
                   return 0;
     }
     }

       return 1;
       }
    function check_zjhmNoAge(zjmc,zjhm)
    {

      var birthday=\"\";
      var zjhm1=\"\";
      var zjhm2=\"\";

      var s=\"\";
      if (notNull(\"证件号码\",zjhm)==0)  { return 0;  }
      if(zjmc==\"A\")   //身份证号码
       {
           if(!(zjhm.length==15 || zjhm.length==18) )
          {
            alert(\"身份证长度不对,请检查!\") ;
                   return 0;
          }
            zjhm1=zjhm;
            if (zjhm.length==18)
                {
                    zjhm1=zjhm.substr(0,17) ;
                    zjhm2=zjhm.substr(17,1);
                }

             re=new RegExp(\"[^0-9]\");
      if(s=zjhm1.match(re))
         {
             alert(\"输入的值中含有非法字符\'\"+s+\"\'请检查!\");
             return 0;
                 }
            //取出生日期
            if(zjhm.length==15 )
                {
                   birthday=\"19\"+zjhm.substr(6,6);
                }
             else
                {
                 re=new RegExp(\"[^0-9X]\");
                   if(s=zjhm2.match(re))     //18位身份证对末位要求数字或字符
                   {
                       alert(\"输入的值中含有非法字符\'\"+s+\"\'请检查!\");
                       return 0;
                    }
                    birthday=zjhm.substr(6,8);
                }
               birthday=birthday.substr(0,4)+\"-\"+birthday.substr(4,2)+\"-\"+birthday.substr(6,2)
              //alert(\"birthday\"+birthday)

              if(isDate(\"证件号码\",birthday)==0)  //检查日期的合法性
              {
                 return 0;
              }


              if(zjhm.length==18 )
              {
               return(sfzCheck(zjhm));  //对18位长的身份证进行末位校验
              }
           }
    else
     {if (zjhm.length>17){

            alert(\"非‘居民身份证’长度不得超过17位,请检查!\") ;
                   return 0;
     }
     }

       return 1;
       }

    function id15to18(zjhm)
    {


     var strJiaoYan =new  Array(\"1\", \"0\", \"X\", \"9\", \"8\", \"7\", \"6\", \"5\", \"4\", \"3\", \"2\");
     var intQuan =new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);
     var ll_sum=0;
     var i;
     var ls_check;
     zjhm = zjhm.substring(0, 6) + \"19\" + zjhm.substring(6);
     for (i=0;i<=16;i++){
      ll_sum=ll_sum+(parseFloat(zjhm.substr(i,1)))*intQuan[i];
     }
     ll_sum = ll_sum % 11;
     zjhm=zjhm + strJiaoYan[ll_sum];
     return zjhm;
    }
    //-------------------------------
    //  函数名  :check_sg(i_value)
    //  参数说明:身高。
    //  功能介绍:检查身高是否为数字;是否>=100,<=250
    //  返回值  :1-是,0-不是
    //-------------------------------

    function check_sg(i_value)
    {
            if(isNum(\"身高\",i_value)==0)  //检查身高是否为数字
            {
                   return 0;
            }
            else
            {
      if ((i_value-0)<100 ||(i_value-0)>250)
      {
            alert(\"\'身高\'合理范围应在 100--250 !\");
                   return 0;
      }
            }
      return 1;
    }

    //-------------------------------
    //  函数名  :check_sl(i_value)
    //  参数说明:视力。
    //  功能介绍:检查视力是否为数字;是否>=4.9,<=5.5
    //  返回值  :1-是,false-不是
    //-------------------------------

    function check_sl(i_value)
    {
        var reg = /^(\\d{1,1})(\\.)(\\d{1,1})$/;

    if (document.all[\"zsl\"].value.length==2)
     {
     document.all[\"zsl\"].value=document.all[\"zsl\"].value.substr(0,1)+\".\"+document.all[\"zsl\"].value.substr(1,1);
     }
     if (document.all[\"ysl\"].value.length==2)
     {
        document.all[\"ysl\"].value=document.all[\"ysl\"].value.substr(0,1)+\".\"+document.all[\"ysl\"].value.substr(1,1);
     }
        var r = document.all[\"zsl\"].value.match(reg);
        var r1 = document.all[\"ysl\"].value.match(reg);
        if(r==null)
         {
             alert(\"左视力的格式应为:x.x !\")
             return 0;
           }
        if(r1==null)
         {
             alert(\"右视力的格式应为:x.x !\")
             return 0;
           }

        if ((document.all[\"zsl\"].value-0)<4.9 || (document.all[\"zsl\"].value-0)>5.5)
        {
             alert(\"\'左视力\'应在 4.9--5.5 范围!\");
             return 0;
        }
        if ((document.all[\"ysl\"].value-0)<4.9 || (document.all[\"ysl\"].value-0)>5.5)
        {
             alert(\"\'右视力\'应在 4.9--5.5 范围!\");
             return 0;
        }
     return 1;
    }

    //-------------------------------
    //  函数名:isHg(bsl,tl,sz,qgjb)
    //  功能介绍:辨色力,听力,上肢,躯干颈部是否合格
    //  参数说明:辨色力,听力,上肢,躯干颈部
    //  返回值  :1-符合申请,0-不符合
    //-------------------------------

    function isHg(bsl,tl,sz,qgjb)
    {//alert(bsl+tl+sz+qgjb)
        if (!(bsl==1))
           {
              alert(\"\'辨色力\'不合格者不能申请!\");
              return 0;
           }
        if (!(tl==1))
           {
              alert(\"\'听力\'不合格者不能申请!\");
              return 0;
           }
        if (!(sz==1))
           {
              alert(\"\'上肢\'不合格者不能申请!\");
              return 0;
           }
        if (!(qgjb==1))
           {
              alert(\"\'躯干颈部\'不合格者不能申请!\");
              return 0;
           }
     if((document.all[\"yxz\"].value)==0)
     {
       alert(\"右下肢必须合格!\")
       document.all.yxz.focus();
       return 0;
     }
         return 1;
    }

    //-------------------------------
    //  函数名:sfzCheck(hm)
    //  功能介绍:对18位长的身份证进行末位校验
    //  参数说明:身份证号码
    //  返回值  :1-符合,0-不符合
    //-------------------------------

    function sfzCheck(hm)
    {

          var w=new Array();
          var ll_sum;
          var ll_i;
          var ls_check;


      if(hm.length==15) //长度15,直接返回true
      return true;

       if(hm.length!=15 && hm.length!=18){

      alert(\"身份证号码长度不正确\");
      return false;

       }

          w[0]=7;
          w[1]=9;
          w[2]=10;
          w[3]=5;
          w[4]=8;
          w[5]=4;
          w[6]=2;
          w[7]=1;
          w[8]=6;
          w[9]=3;
          w[10]=7;
          w[11]=9;
          w[12]=10;
          w[13]=5;
          w[14]=8;
          w[15]=4;
          w[16]=2;
         ll_sum=0;

         for (ll_i=0;ll_i<=16;ll_i++)
         {   //alert(\"ll_i:\"+ll_i+\" \"+hm.substr(ll_i,1)+\"w[ll_i]:\"+w[ll_i]+\"  ll_sum:\"+ll_sum);
            ll_sum=ll_sum+(hm.substr(ll_i,1)-0)*w[ll_i];

         }
         ll_sum=ll_sum % 11;


         switch (ll_sum)
          {
            case 0 :
                ls_check=\"1\";
                break;
            case 1 :
                ls_check=\"0\";
                break;
            case 2 :
                ls_check=\"X\";
                break;
            case 3 :
                ls_check=\"9\";
                break;
            case 4 :
                ls_check=\"8\";
                break;
            case 5 :
                ls_check=\"7\";
                break;
            case 6 :
                ls_check=\"6\";
                break;
            case 7 :
                ls_check=\"5\";
                break;
            case 8 :
                ls_check=\"4\";
                break;
            case 9 :
                ls_check=\"3\";
                break;
            case 10 :
                ls_check=\"2\";
                break;
          }

          if (hm.substr(17,1) != ls_check)
          {
                alert(\"身份证校验错误!------ 末位应该:\"+ls_check+\" 实际:\"+hm.substr(hm.length-1,1));
                return 0;
         }
    return 1
    }

    function  comm_check(){
    if (document.all[\"xm\"].value.length<2)
    {
    document.all[\"xm\"].focus();
    alert(\"\'姓名\'长度至少两汉字!\");
    return 0;
     }
    if (document.all[\"lxdh\"].value.length<6)
    {
    document.all[\"lxdh\"].focus();
    alert(\"\'联系电话\'长度至少6位!\");
    return 0;
     }
    return 1;
    }

    //-------------------------------
    //  函数名  :check_zjcx(s_value,s_cx_dm)
    //  参数说明:准驾车型字符串,合法的准驾车行字符串数组。
    //  功能介绍:检查车型输入是否正确,只检查是否包含合法的准驾车行字符串,重复、次序颠倒不认为是错误
    //  返回值  :1-包含合法的准驾车行,0-不合法
    //
    //  戴嘉 2004.05.12
    //-------------------------------
    function check_zjcx(s_value,s_cx_dm)
    {
       //合法的准驾车行字符串数组
     //var s_cx_dm=new Array(\"A1\",\"A2\",\"A3\",\"B1\",\"B2\",\"C1\",\"C2\",\"C3\",\"C4\",\"D\",\"E\",\"F\",\"M\",\"N\",\"P\");
            //字符串数组的长度
            var s_cx_input; //存放需要检验的字符串
     var i_pos; //查找子串定位
            var i;

            s_cx_input=s_value;
     for(i in s_cx_dm) //对合法准驾车行字符串数组轮循
     {
      do
      {
       i_pos=s_cx_input.indexOf(s_cx_dm[i]); //是否包含当前车型
       if(i_pos!=-1) //包含
       {
                               //去掉找到的子串
        s_cx_input=s_cx_input.slice(0,i_pos)+s_cx_input.slice(i_pos+s_cx_dm[i].length);
       }
      }while(i_pos!=-1); //找不到当前车型子串,进入下一车型子串查找
     }

     if(s_cx_input.length==0) //输入字符串包含的都是合法的车型子串(全部被去掉了)
      return 1;
     else //输入字符串还包含有非法的字符串
      return 0;
    }


    //-------------------------------
    //  函数名:DateAddMonth(strDate,iMonths)
    //  功能介绍:获得日期加上iMonths月数后的日期
    //  参数说明:strDate 日期
    //  返回值  :无返回值
    //-------------------------------
    function DateAddMonth(strDate,iMonths){
       var thisYear = parseFloat(strDate.substring(0,4));
       var thisMonth = parseFloat(strDate.substring(5,7));
       var thisDate = parseFloat(strDate.substring(8,10));
       var d =thisYear *12 + thisMonth + iMonths;

       var newMonth = d % 12;
       if (newMonth==0) {
        newMonth=12;
       }
       var newYear = (d - newMonth) /12;
       var newDate = thisDate;
       var iMonthLastDate=getMonthLastDate(newYear,newMonth)
       if (newDate>iMonthLastDate) newDate=iMonthLastDate;
       var newDay=\"\";

       newDay += newYear;
       if (newMonth<10) {
        newDay +=\"-\" + \"0\" + newMonth;
       }else{
        newDay +=\"-\" + newMonth;
       }

       if (newDate<10) {
        newDay +=\"-\" + \"0\" + newDate;
       }else{
        newDay +=\"-\" + newDate;
       }
       return(newDay);                                // 返回日期。
    }

    function getMonthLastDate(iYear,iMonth){
     var dateArray= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
     var days=dateArray[iMonth-1];
     if ((((iYear % 4 == 0) && (iYear % 100 != 0)) || (iYear % 400 == 0)) && iMonth==2){
      days=29;
     }
     return days;
    }

    var keyvalue=\"\";
    var srcStr=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";
    var objName=\"\";
    function findCode(event,obj)
    {
     if (objName != obj.name){
      objName=obj.name;
      keyvalue=\"\";
     }
            if (event.keyCode==13 || event.keyCode==9 ) {
              keyvalue=\"\";
              return true;
            }

     //if(srcStr.indexOf(String.fromCharCode(event.keyCode))!=-1)
     // keyvalue=\"\";
     keyvalue=keyvalue+String.fromCharCode(event.keyCode).toUpperCase();
     //alert(keyvalue);
     for(var i=0;i<obj.options.length;i++)
     {
      if(obj.options[i].value.indexOf(keyvalue)!=-1)
      {
       obj.value=obj.options[i].value;
                            if (obj.options[i].value==keyvalue){
        objName=\"\"
       }
       return true;
      }
     }
    }
    function findName(event,obj)  //根据代码取名称
    {
     if (objName != obj.name){
      objName=obj.name;
      keyvalue=\"\";
     }
            if (event.keyCode==13 || event.keyCode==9 ) {
              keyvalue=\"\";
              return true;
            }

     //if(srcStr.indexOf(String.fromCharCode(event.keyCode))!=-1)
     // keyvalue=\"\";
     keyvalue=keyvalue+String.fromCharCode(event.keyCode).toUpperCase();
     //alert(keyvalue);
     //alert(obj.options.length);
     for(var i=0;i<obj.options.length;i++)
     {
      //alert(obj.options[i].text);

      if(obj.options[i].text.indexOf(keyvalue)!=-1)
      {
       obj.value=obj.options[i].value;
       return true;
      }
     }
    }
    //自动清除输入框中的空格
    function ignoreSpaces(string) {
    var temp = \"\";
    string = \'\' + string;
    splitstring = string.split(\" \"); //双引号之间是个空格;
    for(i = 0; i < splitstring.length; i++)
    temp += splitstring[i];
    return temp;
    }


    /*
      文件名: function.js
      功  能: 常用的功能库
      功能块:

      更  新: 金永俊 2004年4月16日
       戴嘉 2004.05.20
    */


    var todaystr;
    todaystr=new Date();


    //-------------------------------
    //  函 数 名:cal_years(rq)
    //  功能介绍:计算指定日期到今天是多少年.
    //  参数说明:日期
    //  返    回:年数
    //-------------------------------

    function cal_years(rq)
    {
    var years;
    //var dDate = new Date();  //系统日期(系统日期应该大于rq)
    var dDate=todaystr;
    var month1= dDate.getMonth()+1;
    var year1= dDate.getFullYear();
    var day1=dDate.getDate()
    var year2= rq.substr(0,4);
    var month2= rq.substr(5,2);
    var day2=rq.substr(8,2);
    //alert(\"-----------dDate-\"+dDate+\" year1\"+year1+\" month1\"+month1+\" day1\"+day1);
         years = year1 - year2 - 0;
         if (month2 > month1)   //月份未到,years-1
         {
           years = years - 1;
         }
         else
         {
           if ( (month1 == month2) && (day2 > day1))  //月份到了,但日未到,years-1
           {
             years = years - 1;
           }
         }
    //alert(\"-----------years-\"+years);
    return years;
    }

    //-------------------------------
    //  函 数 名:cal_years1(rq1,rq2)
    //  功能介绍:计算指定日期到今天是多少年.(rq1-rq2)
    //  参数说明:日期1,日期2
    //  返    回:年数
    //-------------------------------

    function cal_years1(rq1,rq2)
    {
    var years;
    var year1= rq1.substr(0,4);
    var month1= rq1.substr(5,2);
    var day1=rq1.substr(8,2);
    var year2= rq2.substr(0,4);
    var month2= rq2.substr(5,2);
    var day2=rq2.substr(8,2);
    //alert(\"-----------dDate-\"+dDate+\" year1\"+year1+\" month1\"+month1+\" day1\"+day1);
         years = year1 - year2 - 0;
         if (month2 > month1)   //月份未到,years-1
         {
           years = years - 1;
         }
         else
         {
           if ( (month1 == month2) && (day2 > day1))  //月份到了,但日未到,years-1
           {
             years = years - 1;
           }
         }
    //alert(\"-----------years-\"+years);
    return years;
    }
    //-------------------------------
    //  函 数 名:cal_days(rq1,rq2)
    //  功能介绍:计算两个日期间隔天数(要求rq2>=rq1).
    //  参数说明:日期1,日期2
    //  返    回:天数
    //-------------------------------

    function cal_days(rq1,rq2)
    {  var d, s, t, d1 , d2, s1 , s2;
       var DyMilli = 24 * 60 * 60 * 1000;  //一天的毫秒数
       //d = new Date();
       d=todaystr
       s = d.getTime();  //系统日期与 1970 年 1 月 1 日午夜间全球标准时间 的毫秒数

         var days;
         //系统日期、年、月、日
         //var dDate = new Date();
         var dDate=todaystr
         var month= dDate.getMonth()+1;
         var year= dDate.getFullYear();
         var day=dDate.getDate();
             d=new Date(year,month-1,day);
             s = d.getTime()
         var month1;
         var month2;
         var year1;
         var year2;
         var day1;
         var day2;


         if (rq1==\"\")
         {
          s1=s;
           month1= month;
          year1= year;
          day1= day;
        }
         else
         {
            year1= rq1.substr(0,4);
            month1= rq1.substr(5,2);
            day1=rq1.substr(8,2);
            d1=new Date(year1,month1-1,day1);
            s1=d1.getTime();
         }

         if (rq2==\"\")
         {
          s2=s;
          month2= month;
          year2= year;
          day2= day;
         }
         else
         {
            year2= rq2.substr(0,4);
            month2= rq2.substr(5,2);
            day2=rq2.substr(8,2);
            d2=new Date(year2,month2-1,day2);
            s2=d2.getTime();
         }
         //alert(\"rq1:\"+rq1+\" rq2:\"+rq2+\" y1:\"+year1+\" y2:\"+year2+\" m1:\"+month1+\" m2:\"+month2+\" d1:\"+day1+\" d2:\"+day2);
         days=Math.round((s2 - s1) / DyMilli);;
         //alert(\"days:\"+days);
    return days;
    }

     

    //-------------------------------
    //  函 数 名:get_checkbox(get_item)
    //  功能介绍:取复选框的内容.
    //  参数说明:复选框的数组名
    //  返    回:复选框的值
    //-------------------------------
    function get_checkbox(get_item)
    {
    var get_item_content
    get_item_content=\"\"
    var item_length=get_item.length
    //alert(item_length)
    for(var i=0;i<item_length;i++)
    {
      if(get_item.item(i).checked)
      {
       //alert(get_item.item(i).value)
      get_item_content=get_item_content+get_item.item(i).value
      }
    }
    return get_item_content;
    }


    //-------------------------------
    //  函 数 名:set_checkbox(set_item,s_value)
    //  功能介绍:设置复选框数组的内容.
    //  参数说明:复选框的控件数组对象,表示状态的字符串(checkbox的value值)
    //  返    回:设置的复选框数量
    //
    //  戴嘉 2004.05.11
    //-------------------------------
    function set_checkbox(set_item,s_value)
    {
            var i,j; //循环计数器,i-控件数组循环,j-字符串值位置控制

     //轮循状态字符串
     for(j=0;j<s_value.length;j++)
            {
             //轮循控简数组
             for(i=0;i<set_item.length;i++)
             {
              if(set_item.item(i).value==s_value.substr(j,1))
                     {
                      set_item.item(i).checked=true;
                                    break;
                     }
             }
            }

     return j;
    }

     

    //-------------------------------
    //  函 数 名:bulidXzqh(obj,Opt_name,Opt_value)
    //  功能介绍:构建新的所属辖区下拉列表
    //  参数说明:日期1,日期2
    //  返    回:
    //-------------------------------

    function bulidXzqh(obj,Opt_name,Opt_value)
    {
      var n1
      if(Opt_name.length>0)
      {

        n1=document.createElement(\"OPTION\")
        n1.value=Opt_value
        n1.text=Opt_name
        obj.add(n1)
        var i=obj.length-1
        obj.options[i].selected=true
     }

    }

     

     

     

    //----------构建下拉列表--------------

    function buildList(get_xml_id,put_id,view_type)
    {

    var xmldoc,theNode,code1Node;
    var get_list,get_list_code,get_list_value
    var str1=\"document.all.\"+get_xml_id+\".XMLDocument\"
    xmldoc=eval(str1)
    xmldoc.async=false
    //xmldoc=eval(\"document.all.\"+get_xml_id+\".XMLDocument\")

    //取类型
    var str2=\"xmldoc.getElementsByTagName(\\\"Codes\\\")\"

    //get_list=eval(\"xmldoc.getElementsByTagName(\\\"\"+get_type_name +\"\\\")\")
    get_list=eval(str2)

    //get_list_code=get_list.item(0).getElementsByTagName(\"code\")
    //get_list_value=get_list.item(0).getElementsByTagName(\"value\")

    if(view_type==null || view_type==\"\"){view_type=\"0\"}   //缺省

    //显示名称,保存名称,view_type==\"2\"
    if(view_type==\"2\")
    {

    for(var i=0;i<get_list.length;i++)
    {
    var str3=\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list.item(i).lastChild.text,get_list.item(i).lastChild.text)\"
    //alert(str3)
    eval(str3)
    //eval(\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list_value.item(i).text,get_list_code.item(i).text\")
    }
    }

    //显示时带代码,view_type==\"1\"

    if(view_type==\"1\")
    {

    for(var i=0;i<get_list.length;i++)
    {
    var str3=\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list.item(i).firstChild.text+get_list.item(i).lastChild.text,get_list.item(i).firstChild.text)\"
    //alert(str3)
    eval(str3)
    //eval(\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list_value.item(i).text,get_list_code.item(i).text\")
    }
    }
    if(view_type==\"0\")
    {
    //显示时不带代码,view_type==\"0\"

    for(var i=0;i<get_list.length;i++)
    {
    var str3=\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list.item(i).lastChild.text,get_list.item(i).firstChild.text)\"
    //alert(str3)
    eval(str3)
    //eval(\"document.all[\\\"\"+put_id+\"\\\"].options[i]=new Option(get_list_value.item(i).text,get_list_code.item(i).text\")
    }
    }

    }
    //----------建立复选列表(准驾必备和提交资料)--------------
    function build_checkbox(get_xml_id,put_id,checkbox_name)
    {
      var xmldoc,theNode,code1Node;
      var get_list,get_list_code,get_list_value
      var str1=\"document.all.\"+get_xml_id+\".XMLDocument\"
      xmldoc=eval(str1)
      var htmlstr=\"\"
    //取类型
    var str2=\"xmldoc.getElementsByTagName(\\\"Codes\\\")\"
    get_list=eval(str2)
       for(var i=0;i<get_list.length;i++)
      {
       htmlstr=htmlstr+\"<input type=\\\"checkbox\\\"  name=\\\"\"+checkbox_name+ \"\\\"   value=\\\"\"+get_list.item(i).firstChild.text+\"\\\">\"+get_list.item(i).lastChild.text
      }
    var str3=\"document.all.\"+put_id+\".innerHTML=htmlstr\"
    //alert( htmlstr)
    eval(str3)
    }

    //----------整理提交资料项目--------------
    function get_checkbox1(get_item,put_id)
    {
    var get_item_content
    get_item_content=\"\"
    var item_length=get_item.length
    //alert(item_length)
    for(var i=0;i<item_length;i++)
    {
      if(get_item.item(i).checked)
      {
       //alert(get_item.item(i).value)
      get_item_content=get_item_content+get_item.item(i).value
      }
    }
    alert(get_item_content);
    var the_str=\"document.all[\\\"\"+put_id+\"\\\"].value=get_item_content\"
    //document.all[\"get_tjzl\"].value=get_item_content
    eval(the_str)

    }

    /*多项选择checkbox的逆过程
    box_value  为字符串
    box_name   checkbox的name
    2003-05-10
    */
    function back_checkbox(box_name,box_value)
    {
    var box_length
    var item_value
    var obj_str
    var obj
    obj_str=\"document.all[\\\"\"+box_name+\"\\\"]\"
    obj=eval(obj_str)
    box_length=obj.length
    for(var i=0;i<box_length;i++)
       {
        item_value=obj.item(i).value
        if(box_value.indexOf(item_value)>-1)
         {
          obj.item(i).checked=true
         }
       }
    }

    function decode_from_xml(xml_id,the_code)    //代码翻译
    {
     var de_code=\"\"
     var str,obj
     str=\"document.all[\\\"\"+xml_id+\"\\\"]\"
     obj=eval(str)
      while(!obj.recordset.EOF)
      {
        var code=obj.recordset(\"code\")
        if(code==the_code)
        {
        de_code=new String(obj.recordset(\"Value\"))
        }
        obj.recordset.moveNext();
    }
      obj.recordset.moveFirst();
      return  de_code;
    }

    function decode_self(the_code)
    {
     var de_code
     de_code=\"\"

     if(the_code==\"1\")
     {
        de_code=\"合格\";
     }
     else
     {
       de_code=\"不合格\";
    }
      return  de_code;
    }

    //----------构建可管理车型下拉列表--------------

    function glcx_list(get_xml_id,glcx,put_id)
    {
    var xmldoc,theNode,code1Node;
    var get_list,get_list_code,get_list_value
    var str1=\"document.all.\"+get_xml_id+\".XMLDocument\"
    //alert(str1)
    xmldoc=eval(str1)
    xmldoc.async=false
    //alert(xmldoc.xml)

    //取类型
    var str2=\"xmldoc.getElementsByTagName(\\\"Codes\\\")\"
    get_list=eval(str2)

    //alert(\"AAA:\"+get_list.length)

    var j=0
    for(var i=0;i<get_list.length;i++)
    {
      if(glcx.indexOf(get_list.item(i).firstChild.text)>-1)
      {
      var str3=\"document.all[\\\"\"+put_id+\"\\\"].options[j]=new Option(get_list.item(i).firstChild.text+get_list.item(i).lastChild.text,get_list.item(i).firstChild.text)\"
      eval(str3)
      j=j+1
      }
    }
    }
    function cReadonly(obj){
     if (obj.type==\"text\"){
      obj.readOnly=true
      obj.parentElement.className=\"readonly\"
     }else{
      obj.parentElement.className=\"readonly\"
     }
    }

    function cEditable(obj){
     if (obj.type==\"text\"){
      obj.readOnly=false
      obj.parentElement.className=\"editable\"
     }else{
      obj.parentElement.className=\"editable\"
     }
    }

    //-------------------------------
    //  函数名:jstrim(s_value)
    //  功能介绍:去掉s_value两端的空格
    //  参数说明:被操作的字符串
    //  返回值  :处理结果字符串
    //-------------------------------
    function jstrim(s_value)
    {
     var i;
     var ibegin;

     for(i=0;i<s_value.length;i++)
     {
      if(s_value.charAt(i)!=\' \')
       break;
     }

     if(i==s_value.length)
      return \"\";
     else
      ibegin=i;

     for(i=s_value.length-1;i>=0;i--)
     {
      if(s_value.charAt(i)!=\' \')
       break;
     }

     return s_value.substr(ibegin,i-ibegin+1);
    }

    //-------------------------------
    //  函数名:trimall()
    //  功能介绍:去掉document的所有form里面的所有的input(text)里面的两端空格
    //  参数说明:无
    //  返回值  :无
    //-------------------------------
    function trimall()
    {
     var i,j;
     var allforms;
     var myelement;

     allforms=document.forms;

     for(i=0;i<allforms.length;i++)
     {
      for(j=0;j<allforms(i).elements.length;j++)
      {
       myelement=allforms(i).elements(j);
       if(myelement.type==\"text\")
        //myelement.value=jstrim(myelement.value.toUpperCase());
       myelement.value=jstrim(myelement.value);
      }
     }
    }
    //-------------------------------
    //  函数名:
    //  功能介绍:日期加年
    //  参数说明:无
    //  返回值  :无
    //-------------------------------
    function rqaddyears(rq1,ns)
    {
    if (rq1.length==10){
    y=parseInt(rq1.substring(0,4))+ns
    m=parseInt(rq1.substring(5,7))
    d=parseInt(rq1.substring(8,10))

    }else if (rq1.length==8){
    y=parseInt(rq1.substring(0,4))+ns
    m=parseInt(rq1.substring(4,6))
    d=parseInt(rq1.substring(6,8))
    }else{
    return \"\";
    }
    var str =y+rq1.substring(4,10);
    if (m==2 && d==29){
    str=y+rq1.substring(4,7)+\"-28\";
    }

    return str
    }

    //光标移动至最后
    function movelast()
    {
    var e = event.srcElement;
    var r =e.createTextRange();
    r.moveStart(\'character\',e.value.length);
    r.collapse(true);
    r.select();
    }

    //翻译obj(select)中的值
    function trancode(obj,val){
    for (var i=0;i<obj.length;i++){
    var tmp
    tmp=obj.options(i).text
    tmp=tmp.substr((tmp.indexOf(\":\")+1),tmp.length-tmp.indexOf(\":\")-1)
    if (obj.options(i).value==val){
    return tmp
    }

    }
    return \"\"
    }
    //-------------------------------
    //  函数名:DateAddMonth(strDate,iMonths)
    //  功能介绍:获得日期加上iMonths月数后的日期
    //  参数说明:strDate 日期
    //  返回值  :无返回值
    //-------------------------------
    function DateAddMonth(strDate,iMonths){
       var thisYear = parseFloat(strDate.substring(0,4));
       var thisMonth = parseFloat(strDate.substring(5,7));
       var thisDate = parseFloat(strDate.substring(8,10));
       var d =thisYear *12 + thisMonth + parseFloat(iMonths);

       var newMonth = d % 12;
       if (newMonth==0) {
        newMonth=12;
       }
       var newYear = (d - newMonth) /12;
       var newDate = thisDate;
       var iMonthLastDate=getMonthLastDate(newYear,newMonth)
       if (newDate>iMonthLastDate) newDate=iMonthLastDate;
       var newDay=\"\";

       newDay += newYear;
       if (newMonth<10) {
        newDay +=\"-\" + \"0\" + newMonth;
       }else{
        newDay +=\"-\" + newMonth;
       }

       if (newDate<10) {
        newDay +=\"-\" + \"0\" + newDate;
       }else{
        newDay +=\"-\" + newDate;
       }
       return(newDay);                                // 返回日期。
    }
    function getMonthLastDate(iYear,iMonth){
     var dateArray= new Array(31,28,31,30,31,30,31,31,30,31,30,31);
     var days=dateArray[iMonth-1];
     if ((((iYear % 4 == 0) && (iYear % 100 != 0)) || (iYear % 400 == 0)) && iMonth==2){
      days=29;
     }
     return days;
    }

    //####################################
    //保存客户信息
    //
    //
    //#####################################
    function getcookie(nKey){
     var search=nKey+\"=\";
     begin=document.cookie.indexOf(search);
     if (begin!=-1){
      begin+=search.length
      end=document.cookie.indexOf(\";\",begin);
      if (end==-1){
       end=document.cookie.length;
      }
      return document.cookie.substring(begin,end)
     }else{
     return \"\"
     }
    }

    function setcookie(nKey,nVal){
    document.cookie=nKey+\"=\"+nVal+\";expires=wednesday,09-oct-2099 23:00:00 GMT\"
    }

    function disableall()
    {
     var i,j;
     var allforms;
     var myelement;

     allforms=document.forms;

     for(i=0;i<allforms.length;i++)
     {
      for(j=0;j<allforms(i).elements.length;j++)
      {
       myelement=allforms(i).elements(j);
       if(myelement.type==\"text\")
        //myelement.value=jstrim(myelement.value.toUpperCase());
       //myelement.value=jstrim(myelement.value);
       myelement.readOnly=true;
      }
     }
    }

    function selectedObj(obj,value){
     var i=obj.length;
     for(index=0;index<i;index++){

      if (obj.options[index].value==value)
      {
          obj.options[index].selected=true;
          break;
      }
     }
    }

    function getSelectedObjText(obj){

         return obj.options[obj.selectedIndex].text;

    }
    我来自:向东博客
  • 相关阅读:
    git 报错 :Updates were rejected because the tip of your current branch is behind 解决方法
    selenium获取元素的input输入框已经输入的值的三种方法
    chrome(谷歌)浏览器,使用登录,收藏功能
    mybatis学习11-动态SQL语句
    mybatis框架学习-连接池与事务管理
    mybatis学习8-CRUD注解方式
    mybatis学习7-传统dao层开发
    mybatis学习6-使用代理接口的方式开发mybatis的底层实现
    mybatis框架学习-配置文件
    复制,删除 选中单元格对应的行
  • 原文地址:https://www.cnblogs.com/meil/p/460525.html
Copyright © 2011-2022 走看看