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;

}
posted @ 2006-07-27 14:06  meil  阅读(2564)  评论(2编辑  收藏  举报