風人園

          弱水三千,只取一瓢,便能解渴;佛法無邊,奉行一法,便能得益。
          隨筆 - 99, 文章 - 181, 評論 - 56, 引用 - 0
          數據加載中……

          javascript常用到的一些方法(ZT)

          javascript常用到的一些方法
          2006-07-11 ?? chenxh ?? ?? 點擊: 0
          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-13 07:59 風人園 閱讀(283) 評論(0)  編輯  收藏 所屬分類: JavaScript

          主站蜘蛛池模板: 福州市| 陕西省| 苏尼特左旗| 建水县| 紫金县| 平舆县| 七台河市| 宜良县| 溧水县| 潜山县| 宜昌市| 德阳市| 府谷县| 孟村| 安泽县| 顺平县| 茶陵县| 盐源县| 平原县| 宁化县| 新巴尔虎左旗| 洛宁县| 乌兰察布市| 辽源市| 和田县| 汝州市| 岱山县| 祁连县| 瑞安市| 舟曲县| 河源市| 霍林郭勒市| 靖远县| 宜丰县| 错那县| 故城县| 嘉兴市| 德兴市| 宁化县| 长岛县| 南安市|