blogjava's web log

blogjava's web log
...

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 on 2006-07-11 11:47 record java and net 阅读(911) 评论(1)  编辑  收藏 所属分类: Jsp&&WebAJAX

评论

# re: javascript常用到的一些方法 2007-10-18 11:40 北京同声传译

谢谢  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 

导航

常用链接

留言簿(44)

新闻档案

2.动态语言

3.工具箱

9.文档教程

友情链接

搜索

最新评论