本站不再更新,歡迎光臨 java開發技術網
          隨筆-230  評論-230  文章-8  trackbacks-0

          /**
          * 取得字符串的字節長度
          */

          代碼
          						
          function ?strlen(str)
          {
          ????
          var ?i;
          ????
          var ?len;
          ????
          ????len?
          = ? 0 ;
          ????
          for ?(i = 0 ;i < str.length;i ++ )
          ????{
          ????????
          if ?(str.charCodeAt(i) > 255 )?len += 2 ;? else ?len ++ ;
          ????}
          ????
          return ?len;
          }
          ?

          /*
          * 判斷是否為數字,是則返回true,否則返回false
          */
          代碼
          function?f_check_number(obj)
          {???????
          ????
          if?(/^\d+$/.test(obj.value))
          ????{
          ???????
          return?true;
          ????}?
          ????
          else?
          ????{
          ???????f_alert(obj,
          "請輸入數字");
          ???????
          return?false;
          ????}
          }


          /*
          * 判斷是否為自然數,是則返回true,否則返回false
          */
          代碼

          function?f_check_naturalnumber(obj)
          {???????
          ????
          var?s?=?obj.value;
          ????
          if?(/^[0-9]+$/.test(?s?)?&&?(s?>?0))
          ????{
          ???????
          return?true;
          ????}?
          ????
          else?
          ????{
          ????????f_alert(obj,
          "請輸入自然數");
          ????????
          return?false;
          ????}
          }

          /*
          * 判斷是否為整數,是則返回true,否則返回false
          */
          代碼
          function?f_check_integer(obj)
          {???????
          ????
          if?(/^(\+|-)?\d+$/.test(?obj.value?))?
          ????{
          ???????
          return?true;
          ????}?
          ????
          else?
          ????{
          ????????f_alert(obj,
          "請輸入整數");
          ????????
          return?false;
          ????}
          }



          /*
          * 判斷是否為實數,是則返回true,否則返回false
          */
          代碼
          function?f_check_float(obj)
          {???????
          ????
          if?(/^(\+|-)?\d+($|\.\d+$)/.test(?obj.value?))?
          ????{
          ???????
          return?true;
          ????}?
          ????
          else?
          ????{
          ????????f_alert(obj,
          "請輸入實數");
          ???????
          return?false;
          ????}
          }


          /*
          * 校驗數字的長度和精度
          */
          代碼
          function?f_check_double(obj){
          ????
          var?numReg;
          ????
          var?value?=?obj.value;
          ????
          var?strValueTemp,?strInt,?strDec;????
          ????
          var?dtype?=?obj.eos_datatype;
          ????
          var?pos_dtype?=?dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
          ????
          var?len?=?pos_dtype[0],?prec?=?pos_dtype[1];
          ????
          try
          ????{????????
          ????????numReg?
          =/[\-]/;
          ????????strValueTemp?
          =?value.replace(numReg,?"");
          ????????numReg?
          =/[\+]/;
          ????????strValueTemp?
          =?strValueTemp.replace(numReg,?"");
          ????????
          //整數
          ????????if(prec==0){
          ????????????numReg?
          =/[\.]/;
          ????????????
          if(numReg.test(value)?==?true){
          ????????????????f_alert(obj,?
          "輸入必須為整數類型");
          ????????????????
          return?false;????
          ????????????}????????????
          ????????}????????
          ????????
          if(strValueTemp.indexOf(".")?<?0?){
          ????????????
          if(strValueTemp.length?>(?len?-?prec)){
          ????????????????f_alert(obj,?
          "整數位不能超過"+?(len?-?prec)?+"");
          ????????????????
          return?false;
          ????????????}????????
          ????????}
          else{
          ????????????strInt?
          =?strValueTemp.substr(?0,?strValueTemp.indexOf(".")?);????????
          ????????????
          if(strInt.length?>(?len?-?prec)){
          ????????????????f_alert(obj,?
          "整數位不能超過"+?(len?-?prec)?+"");
          ????????????????
          return?false;
          ????????????}
          ????????????strDec?
          =?strValueTemp.substr(?(strValueTemp.indexOf(".")+1),?strValueTemp.length?);????
          ????????????
          if(strDec.length?>?prec){
          ????????????????f_alert(obj,?
          "小數位不能超過"+??prec?+"");
          ????????????????
          return?false;
          ????????????}????????
          ????????}????????
          ????????
          return?true;
          ????}
          catch(e){
          ????????alert(
          "in?f_check_double?=?"?+?e);
          ????????
          return?false;
          ????}????
          }
          ?

          /*
          * 校驗數字的最小最大值
          * 返回bool
          */
          代碼
          function?f_check_interval(obj)
          {
          ????
          var?value?=?parseFloat(obj.value);

          ????
          var?dtype?=?obj.eos_datatype;
          ????
          var?pos_dtype?=?dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
          ????
          ????
          var?minLimit?=?pos_dtype[0];
          ????
          var?maxLimit?=?pos_dtype[1];
          ????
          var?minVal?=?parseFloat(pos_dtype[0]);
          ????
          var?maxVal?=?parseFloat(pos_dtype[1]);?
          ????
          ????
          if(isNaN(value))
          ????{
          ????????f_alert(obj,?
          "值必須為數字");
          ????????
          return?false;
          ????}
          ????
          if((isNaN(minVal)?&&?(minLimit?!=?"-"))?||?(isNaN(maxVal)?&&?(maxLimit?!=?"+")))
          ????{
          ????????f_alert(obj,?
          "邊界值必須為數字或-、+");
          ????????
          return?false;
          ????}

          ????
          if(minLimit?==?"-"?&&?!isNaN(maxVal))
          ????{
          ????????
          if(value?>?maxVal)
          ????????{
          ????????????f_alert(obj,?
          "值不能超過"?+?maxVal);
          ????????????
          return?false;
          ????????}
          ????}
          ????
          ????
          if(!isNaN(minVal)?&&?maxLimit?==?"+")
          ????{????????
          ????????
          if(value?<?minVal)
          ????????{
          ????????????f_alert(obj,?
          "值不能小于"?+?minVal);
          ????????????
          return?false;
          ????????}
          ????}
          ????
          ????
          if(!isNaN(minVal)?&&?!isNaN(maxVal))
          ????{
          ????????
          if(minVal?>?maxVal)
          ????????{
          ????????????f_alert(obj,?
          "起始值"?+?minVal?+?"不能大于終止值"?+?maxVal);
          ????????}
          else
          ????????{
          ????????????
          if(!(value?<=?maxVal?&&?value?>=?minVal))
          ????????????{
          ????????????????f_alert(obj,?
          "值應該在"?+?minVal?+?""?+?maxVal?+?"之間");
          ????????????????
          return?false;
          ????????????}
          ????????}
          ????}
          ????
          return?true;
          }
          ?

          ?


          /*
          用途:檢查輸入字符串是否只由漢字組成
          如果通過驗證返回true,否則返回false
          */
          代碼
          function?f_check_zh(obj){
          ????
          if?(/^[\u4e00-\u9fa5]+$/.test(obj.value))?{
          ??????
          return?true;
          ????}
          ????f_alert(obj,
          "請輸入漢字");
          ????
          return?false;
          }
          ?

          /*
          * 判斷是否為小寫英文字母,是則返回true,否則返回false
          */
          代碼
          function?f_check_lowercase(obj)
          {???????
          ????
          if?(/^[a-z]+$/.test(?obj.value?))?
          ????{
          ???????
          return?true;
          ????}?
          ????f_alert(obj,
          "請輸入小寫英文字母");
          ????
          return?false;
          }


          /*
          * 判斷是否為大寫英文字母,是則返回true,否則返回false
          */
          代碼
          function?f_check_uppercase(obj)
          {???????
          ????
          if?(/^[A-Z]+$/.test(?obj.value?))?
          ????{
          ???????
          return?true;
          ????}?
          ????f_alert(obj,
          "請輸入大寫英文字母");
          ????
          return?false;
          }


          /*
          * 判斷是否為英文字母,是則返回true,否則返回false
          */
          代碼
          function?f_check_letter(obj)
          {???????
          ????
          if?(/^[A-Za-z]+$/.test(?obj.value?))?
          ????{
          ???????
          return?true;
          ????}?
          ????f_alert(obj,
          "請輸入英文字母");
          ????
          return?false;
          }


          /*
          用途:檢查輸入字符串是否只由漢字、字母、數字組成
          輸入:
          value:字符串
          返回:
          如果通過驗證返回true,否則返回false
          */
          代碼
          function?f_check_ZhOrNumOrLett(obj){????//判斷是否是漢字、字母、數字組成
          ????var?regu?=?"^[0-9a-zA-Z\u4e00-\u9fa5]+$";???
          ????
          var?re?=?new?RegExp(regu);
          ????
          if?(re.test(?obj.value?))?{
          ??????
          return?true;
          ????}
          ????f_alert(obj,
          "請輸入漢字、字母或數字");
          ????
          return?false;
          }


          /*
          用途:校驗ip地址的格式
          輸入:strIP:ip地址
          返回:如果通過驗證返回true,否則返回false;
          */
          代碼
          function?f_check_IP(obj)?
          {?
          ????
          var?re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;?//匹配IP地址的正則表達式
          ????if(re.test(?obj.value?))
          ????{
          ????????
          if(?RegExp.$1?<256?&&?RegExp.$2<256?&&?RegExp.$3<256?&&?RegExp.$4<256)?return?true;
          ????}
          ????f_alert(obj,
          "請輸入合法的計算機IP地址");
          ????
          return?false;?
          }


          /*
          用途:檢查輸入對象的值是否符合端口號格式
          輸入:str 輸入的字符串
          返回:如果通過驗證返回true,否則返回false
          */
          代碼

          function?f_check_port(obj)
          {
          ????
          if(!f_check_number(obj))
          ????????
          return?false;
          ????
          if(obj.value?<?65536)
          ????????
          return?true;
          ????f_alert(obj,
          "請輸入合法的計算機IP地址端口號");
          ????
          return?false;?
          }
          ?

          /*
          用途:檢查輸入對象的值是否符合網址格式
          輸入:str 輸入的字符串
          返回:如果通過驗證返回true,否則返回false
          */
          代碼
          function?f_check_URL(obj){??
          ????
          var?myReg?=?/^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;?
          ????
          if(myReg.test(?obj.value?))?return?true;?
          ????f_alert(obj,
          "請輸入合法的網頁地址");
          ????
          return?false;?
          }
          ?

          /*
          用途:檢查輸入對象的值是否符合E-Mail格式
          輸入:str 輸入的字符串
          返回:如果通過驗證返回true,否則返回false
          */
          代碼
          function?f_check_email(obj){??
          ????
          var?myReg?=?/^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;?
          ????
          if(myReg.test(?obj.value?))?return?true;?
          ????f_alert(obj,
          "請輸入合法的電子郵件地址");
          ????
          return?false;?
          }
          ?

          /*
          要求:一、移動電話號碼為11或12位,如果為12位,那么第一位為0
          二、11位移動電話號碼的第一位和第二位為"13"
          三、12位移動電話號碼的第二位和第三位為"13"
          用途:檢查輸入手機號碼是否正確
          輸入:
          s:字符串
          返回:
          如果通過驗證返回true,否則返回false
          */
          代碼

          functionf_check_mobile(obj){
          varregu=/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;
          varre=newRegExp(regu);
          if(re.test(obj.value)){
          returntrue;
          }
          f_alert(obj,"請輸入正確的手機號碼");
          returnfalse;
          }

          /*
          要求:一、電話號碼由數字、"("、")"和"-"構成
          二、電話號碼為3到8位
          三、如果電話號碼中包含有區號,那么區號為三位或四位
          四、區號用"("、")"或"-"和其他部分隔開
          用途:檢查輸入的電話號碼格式是否正確
          輸入:
          strPhone:字符串
          返回:
          如果通過驗證返回true,否則返回false
          */
          代碼

          functionf_check_phone(obj)
          {
          varregu=/(^([0][1-9]{2,3}[-])?\d{3,8}(-\d{1,6})?$)|(^\([0][1-9]{2,3}\)\d{3,8}(\(\d{1,6}\))?$)|(^\d{3,8}$)/;
          varre=newRegExp(regu);
          if(re.test(obj.value)){
          returntrue;
          }
          f_alert(obj,"請輸入正確的電話號碼");
          returnfalse;
          }

          /* 判斷是否為郵政編碼 */
          代碼

          functionf_check_zipcode(obj)
          {
          if(!f_check_number(obj))
          returnfalse;
          if(obj.value.length!=6)
          {
          f_alert(obj,"郵政編碼長度必須是6位");
          returnfalse;
          }
          returntrue;
          }

          /*
          用戶ID,可以為數字、字母、下劃線的組合,
          第一個字符不能為數字,且總長度不能超過20。
          */
          代碼

          functionf_check_userID(obj)
          {
          varuserID=obj.value;
          if(userID.length>20)
          {
          f_alert(obj,"ID長度不能大于20");
          returnfalse;
          }

          if(!isNaN(userID.charAt(0)))
          {
          f_alert(obj,"ID第一個字符不能為數字");
          returnfalse;
          }
          if(!/^\w{1,20}$/.test(userID))
          {
          f_alert(obj,"ID只能由數字、字母、下劃線組合而成");
          returnfalse;
          }
          returntrue;
          }


          /*
          功能:驗證身份證號碼是否有效
          提示信息:未輸入或輸入身份證號不正確!
          使用:f_check_IDno(obj)
          返回:bool
          */
          代碼

          functionf_check_IDno(obj)
          {
          varaCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內蒙古",21:"遼寧",22:"吉林",23:"黑龍江",31:"上海",32:"江蘇",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山東",41:"河南",42:"湖北",43:"湖南",44:"廣東",45:"廣西",46:"海南",50:"重慶",51:"四川",52:"貴州",53:"云南",54:"西藏",61:"陜西",62:"甘肅",63:"青海",64:"寧夏",65:"新疆",71:"臺灣",81:"香港",82:"澳門",91:"國外"};
          variSum=0;
          varinfo="";
          varstrIDno=obj.value;
          varidCardLength=strIDno.length;
          if(!/^\d{17}(\d|x)$/i.test(strIDno)&&!/^\d{15}$/i.test(strIDno))
          {
          f_alert(obj,"非法身份證號");
          returnfalse;
          }
          //在后面的運算中x相當于數字10,所以轉換成a
          strIDno=strIDno.replace(/x$/i,"a");

          if(aCity[parseInt(strIDno.substr(0,2))]==null)
          {
          f_alert(obj,"非法地區");
          returnfalse;
          }
          if(idCardLength==18)
          {
          sBirthday=strIDno.substr(6,4)+"-"+Number(strIDno.substr(10,2))+"-"+Number(strIDno.substr(12,2));
          vard=newDate(sBirthday.replace(/-/g,"/"))
          if(sBirthday!=(d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()))
          {
          f_alert(obj,"非法生日");
          returnfalse;
          }

          for(vari=17;i>=0;i--)
          iSum+=(Math.pow(2,i)%11)*parseInt(strIDno.charAt(17-i),11);

          if(iSum%11!=1)
          {
          f_alert(obj,"非法身份證號");
          returnfalse;
          }
          }
          elseif(idCardLength==15)
          {
          sBirthday="19"+strIDno.substr(6,2)+"-"+Number(strIDno.substr(8,2))+"-"+Number(strIDno.substr(10,2));
          vard=newDate(sBirthday.replace(/-/g,"/"))
          vardd=d.getFullYear().toString()+"-"+(d.getMonth()+1)+"-"+d.getDate();
          if(sBirthday!=dd)
          {
          f_alert(obj,"非法生日");
          returnfalse;
          }
          }
          returntrue;
          }


          /*
          * 判斷字符串是否符合指定的正則表達式
          */
          代碼

          functionf_check_formatStr(obj)
          {
          varstr=obj.value;
          vardtype=obj.eos_datatype;
          varregu=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));//指定的正則表達式
          varre=newRegExp(regu);
          if(re.test(str))
          returntrue;
          f_alert(obj,"不符合指定的正則表達式要求");
          returnfalse;
          }

          /*
          功能:判斷是否為日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
          提示信息:未輸入或輸入的日期格式錯誤!
          使用:f_check_date(obj)
          返回:bool
          */
          代碼

          functionf_check_date(obj)
          {
          vardate=Trim(obj.value);
          vardtype=obj.eos_datatype;
          varformat=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));//日期格式
          varyear,month,day,datePat,matchArray;

          if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))
          datePat=/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2})$/;
          elseif(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)$/.test(format))
          datePat=/^(\d{4})年(\d{1,2})月(\d{1,2})日$/;
          elseif(format=="yyyyMMdd")
          datePat=/^(\d{4})(\d{2})(\d{2})$/;
          else
          {
          f_alert(obj,"日期格式不對");
          returnfalse;
          }
          matchArray=date.match(datePat);
          if(matchArray==null)
          {
          f_alert(obj,"日期長度不對,或日期中有非數字符號");
          returnfalse;
          }
          if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2})$/.test(format))
          {
          year=matchArray[1];
          month=matchArray[3];
          day=matchArray[4];
          }else
          {
          year=matchArray[1];
          month=matchArray[2];
          day=matchArray[3];
          }
          if(month<1||month>12)
          {
          f_alert(obj,"月份應該為1到12的整數");
          returnfalse;
          }
          if(day<1||day>31)
          {
          f_alert(obj,"每個月的天數應該為1到31的整數");
          returnfalse;
          }
          if((month==4||month==6||month==9||month==11)&&day==31)
          {
          f_alert(obj,"該月不存在31號");
          returnfalse;
          }
          if(month==2)
          {
          varisleap=(year%4==0&&(year%100!=0||year%400==0));
          if(day>29)
          {
          f_alert(obj,"2月最多有29天");
          returnfalse;
          }
          if((day==29)&&(!isleap))
          {
          f_alert(obj,"閏年2月才有29天");
          returnfalse;
          }
          }
          returntrue;
          }


          /*
          功能:校驗的格式為yyyy年MM月dd日HH時mm分ss秒,yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyyMMddHHmmss
          提示信息:未輸入或輸入的時間格式錯誤
          使用:f_check_time(obj)
          返回:bool
          */
          代碼

          functionf_check_time(obj)
          {
          vartime=Trim(obj.value);
          vardtype=obj.eos_datatype;
          varformat=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));//日期格式
          vardatePat,matchArray,year,month,day,hour,minute,second;

          if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format))
          datePat=/^(\d{4})(-|\/)(\d{1,2})\2(\d{1,2}) (\d{1,2}):(\d{1,2}):(\d{1,2})$/;
          elseif(/^(y{4})(年)(M{1,2})(月)(d{1,2})(日)(HH時mm分ss秒)$/.test(format))
          datePat=/^(\d{4})年(\d{1,2})月(\d{1,2})日(\d{1,2})時(\d{1,2})分(\d{1,2})秒$/;
          elseif(format=="yyyyMMddHHmmss")
          datePat=/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/;
          else
          {
          f_alert(obj,"日期格式不對");
          returnfalse;
          }
          matchArray=time.match(datePat);
          if(matchArray==null)
          {
          f_alert(obj,"日期長度不對,或日期中有非數字符號");
          returnfalse;
          }
          if(/^(y{4})(-|\/)(M{1,2})\2(d{1,2}) (HH:mm:ss)$/.test(format))
          {
          year=matchArray[1];
          month=matchArray[3];
          day=matchArray[4];
          hour=matchArray[5];
          minute=matchArray[6];
          second=matchArray[7];
          }else
          {
          year=matchArray[1];
          month=matchArray[2];
          day=matchArray[3];
          hour=matchArray[4];
          minute=matchArray[5];
          second=matchArray[6];
          }
          if(month<1||month>12)
          {
          f_alert(obj,"月份應該為1到12的整數");
          returnfalse;
          }
          if(day<1||day>31)
          {
          f_alert(obj,"每個月的天數應該為1到31的整數");
          returnfalse;
          }
          if((month==4||month==6||month==9||month==11)&&day==31)
          {
          f_alert(obj,"該月不存在31號");
          returnfalse;
          }
          if(month==2)
          {
          varisleap=(year%4==0&&(year%100!=0||year%400==0));
          if(day>29)
          {
          f_alert(obj,"2月最多有29天");
          returnfalse;
          }
          if((day==29)&&(!isleap))
          {
          f_alert(obj,"閏年2月才有29天");
          returnfalse;
          }
          }
          if(hour<0||hour>23)
          {
          f_alert(obj,"小時應該是0到23的整數");
          returnfalse;
          }
          if(minute<0||minute>59)
          {
          f_alert(obj,"分應該是0到59的整數");
          returnfalse;
          }
          if(second<0||second>59)
          {
          f_alert(obj,"秒應該是0到59的整數");
          returnfalse;
          }
          returntrue;
          }


          /*判斷當前對象是否可見*/
          代碼

          functionisVisible(obj){
          varvisAtt,disAtt;
          try{
          disAtt=obj.style.display;
          visAtt=obj.style.visibility;
          }catch(e){}
          if(disAtt=="none"||visAtt=="hidden")
          returnfalse;
          returntrue;
          }

          /*判斷當前對象及其父對象是否可見*/
          代碼

          functioncheckPrVis(obj){
          varpr=obj.parentNode;
          do{
          if(pr==undefined||pr=="undefined")returntrue;
          else{
          if(!isVisible(pr))returnfalse;
          }
          }while(pr=pr.parentNode);
          returntrue;
          }

          /* 彈出警告對話框,用戶點確定后將光標置于出錯文本框上, 并且將原來輸入內容選中。*/
          代碼

          functionf_alert(obj,alertInfo)
          {
          varcaption=obj.getAttribute("eos_displayname");
          if(caption==null)
          caption="";
          alert(caption+""+alertInfo+"");
          obj.select();
          if(isVisible(obj)&&checkPrVis(obj))
          obj.focus();
          }

          /**
          * 檢測字符串是否為空
          */
          代碼

          functionisnull(str)
          {
          vari;
          if(str.length==0)
          returntrue;
          for(i=0;i<str.length;i++)
          {
          if(str.charAt(i)!='')
          returnfalse;
          }
          returntrue;
          }

          /**
          * 檢測指定文本框輸入是否合法。
          * 如果用戶輸入的內容有錯,則彈出提示對話框,
          * 同時將焦點置于該文本框上,并且該文本框前面
          * 會出現一個警告圖標(輸入正確后會自動去掉)。
          */
          代碼

          functioncheckInput(object)
          {
          varimage;
          vari;
          varlength;

          if(object.eos_maxsize+""!="undefined")length=object.eos_maxsize;
          elselength=0;

          if(object.eos_isnull=="true"&&isnull(object.value))returntrue;

          /* 長度校驗 */
          if(length!=0&&strlen(object.value)>parseInt(length)){
          f_alert(object,"超出最大長度"+length);
          returnfalse;
          }
          /* 數據類型校驗 */
          else{
          if(object.eos_datatype+""!="undefined")
          {

          vardtype=object.eos_datatype;
          varobjName=object.name;
          //如果類型名后面帶有括號,則視括號前面的字符串為校驗類型
          if(dtype.indexOf("(")!=-1)
          dtype=dtype.substring(0,dtype.indexOf("("));
          //根據頁面元素的校驗類型進行校驗
          try{
          if(eval("f_check_"+dtype+"(object)")!=true)
          returnfalse;
          }catch(e){returntrue;}
          /* 如果form中存在name前半部分相同,并且同時存在以"min"和"max"結尾的表單域,
          那么視為按區間查詢。即"min"結尾的表單域的值要小于等于"max"結尾的表單域的值。 *
          /
          if(objName.substring((objName.length-3),objName.length)=="min")
          {
          varobjMaxName=objName.substring(0,(objName.length-3))+"max";
          if(document.getElementById(objMaxName)!=undefined&&document.getElementById(objMaxName)!="undefined")
          {
          if(checkIntervalObjs(object,document.getElementById(objMaxName))!=true)
          returnfalse;
          }
          }
          }
          }
          returntrue;
          }


          /* 檢測表單中所有輸入項的正確性,一般用于表單的onsubmit事件 */
          代碼

          functioncheckForm(myform)
          {
          vari;
          for(i=0;i<myform.elements.length;i++)
          {
          /* 非自定義屬性的元素不予理睬 */
          if(myform.elements[i].eos_displayname+""=="undefined")continue;
          /* 非空校驗 */
          if(myform.elements[i].eos_isnull=="false"&&isnull(myform.elements[i].value)){
          f_alert(myform.elements[i],"不能為空");
          returnfalse;
          }
          /* 數據類型校驗 */
          if(checkInput(myform.elements[i])==false)
          returnfalse;
          }
          returntrue;
          }

          /**
          * 校驗兩個表單域數據的大小,目前只允許比較日期和數字。
          * @param obj1 小值表單域
          * @param obj2 大值表單域
          */
          代碼

          functioncheckIntervalObjs(obj1,obj2)
          {
          varcaption1=obj1.getAttribute("eos_displayname");
          varcaption2=obj2.getAttribute("eos_displayname");
          varval1=parseFloat(obj1.value);
          varval2=parseFloat(obj2.value);
          // 非自定義屬性的元素不予理睬
          if(obj1.eos_displayname+""=="undefined"||obj2.eos_displayname+""=="undefined"){
          returnfalse;
          }
          // 日期類型的比較
          if(f_check_date(obj1)==true&&f_check_date(obj2)==true){
          vardtype=obj1.eos_datatype;
          varformat=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));//日期格式
          val1=getDateByFormat(obj1.value,format);
          dtype=obj2.eos_datatype;
          format=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")"));//日期格式
          val2=getDateByFormat(obj2.value,format);
          if(val1>val2){
          obj2.select();
          if(isVisible(obj)&&checkPrVis(obj))
          obj2.focus();
          alert(caption1+"的起始日期不能大于其終止日期!");
          returnfalse;
          }
          }
          // 數字類型的比較
          if((isNaN(val1)&&!isnull(val1))||(isNaN(val2)&&!isnull(val2))){
          alert(caption1+"的值不全為數字則不能比較!");
          returnfalse;
          }
          if(val1>val2){
          obj2.select();
          if(isVisible(obj)&&checkPrVis(obj))
          obj2.focus();
          alert(caption1+"的起始值不能大于其終止值!");
          returnfalse;
          }
          returntrue;
          }

          /*根據日期格式,將字符串轉換成Date對象。
          格式:yyyy-年,MM-月,dd-日,HH-時,mm-分,ss-秒。
          (格式必須寫全,例如:yy-M-d,是不允許的,否則返回null;格式與實際數據不符也返回null。)
          默認格式:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd。*/

          代碼

          functiongetDateByFormat(str){
          vardateReg,format;
          vary,M,d,H,m,s,yi,Mi,di,Hi,mi,si;
          if((arguments[1]+"")=="undefined")format="yyyy-MM-dd HH:mm:ss";
          elseformat=arguments[1];
          yi=format.indexOf("yyyy");
          Mi=format.indexOf("MM");
          di=format.indexOf("dd");
          Hi=format.indexOf("HH");
          mi=format.indexOf("mm");
          si=format.indexOf("ss");
          if(yi==-1||Mi==-1||di==-1)returnnull;
          else{
          y=parseInt(str.substring(yi,yi+4));
          M=parseInt(str.substring(Mi,Mi+2));
          d=parseInt(str.substring(di,di+2));
          }
          if(isNaN(y)||isNaN(M)||isNaN(d))returnnull;
          if(Hi==-1||mi==-1||si==-1)returnnewDate(y,M-1,d);
          else{
          H=str.substring(Hi,Hi+4);
          m=str.substring(mi,mi+2);
          s=str.substring(si,si+2);
          }
          if(isNaN(parseInt(y))||isNaN(parseInt(M))||isNaN(parseInt(d)))returnnewDate(y,M-1,d);
          elsereturnnewDate(y,M-1,d,H,m,s);
          }

          /*LTrim(string):去除左邊的空格*/
          代碼

          functionLTrim(str){
          varwhitespace=newString("\t\n\r");
          vars=newString(str);

          if(whitespace.indexOf(s.charAt(0))!=-1){
          varj=0,i=s.length;
          while(j<i&&whitespace.indexOf(s.charAt(j))!=-1){
          j++;
          }
          s=s.substring(j,i);
          }
          returns;
          }


          /*RTrim(string):去除右邊的空格*/
          代碼

          functionRTrim(str){
          varwhitespace=newString("\t\n\r");
          vars=newString(str);
          if(whitespace.indexOf(s.charAt(s.length-1))!=-1){
          vari=s.length-1;
          while(i>=0&&whitespace.indexOf(s.charAt(i))!=-1){
          i--;
          }
          s=s.substring(0,i+1);
          }
          returns;
          }

          /*Trim(string):去除字符串兩邊的空格*/
          代碼

          functionTrim(str){
          returnRTrim(LTrim(str));
          }
          posted on 2006-10-27 14:56 有貓相伴的日子 閱讀(570) 評論(0)  編輯  收藏 所屬分類: javascirpt
          本站不再更新,歡迎光臨 java開發技術網
          主站蜘蛛池模板: 岢岚县| 和平区| 和龙市| 涟水县| 陇南市| 吐鲁番市| 盈江县| 依兰县| 金秀| 铁力市| 洛扎县| 阿尔山市| 新安县| 广宗县| 洪洞县| 阿克苏市| 镇康县| 邛崃市| 阜康市| 台南县| 昂仁县| 隆回县| 河南省| 西吉县| 昭通市| 富阳市| 泰兴市| 诸暨市| 新河县| 茂名市| 九龙坡区| 湘潭市| 新沂市| 重庆市| 加查县| 文安县| 夏河县| 东乡县| 静宁县| 军事| 博罗县|