OMG,到底在尋找什么..................
          (構(gòu)造一個(gè)完美的J2EE系統(tǒng)所需要的完整知識(shí)體系)
          posts - 198,  comments - 37,  trackbacks - 0
          **
          * 取得字符串的字節(jié)長(zhǎng)度
          */
          代碼

          functionstrlen(str)
          {
          vari;
          varlen;
          len=0;
          for(i=0;i<str.length;i++)
          {
          if(str.charCodeAt(i)>255)len+=2;elselen++;
          }
          returnlen;
          }

          /*
          * 判斷是否為數(shù)字,是則返回true,否則返回false
          */
          代碼

          functionf_check_number(obj)
          {
          if(/^\d+$/.test(obj.value))
          {
          returntrue;
          }
          else
          {
          f_alert(obj,"請(qǐng)輸入數(shù)字");
          returnfalse;
          }
          }

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

          functionf_check_naturalnumber(obj)
          {
          vars=obj.value;
          if(/^[0-9]+$/.test(s)&&(s>0))
          {
          returntrue;
          }
          else
          {
          f_alert(obj,"請(qǐng)輸入自然數(shù)");
          returnfalse;
          }
          }

          /*
          * 判斷是否為整數(shù),是則返回true,否則返回false
          */
          代碼

          functionf_check_integer(obj)
          {
          if(/^(\+|-)?\d+$/.test(obj.value))
          {
          returntrue;
          }
          else
          {
          f_alert(obj,"請(qǐng)輸入整數(shù)");
          returnfalse;
          }
          }

          /*
          * 判斷是否為實(shí)數(shù),是則返回true,否則返回false
          */
          代碼

          functionf_check_float(obj)
          {
          if(/^(\+|-)?\d+($|\.\d+$)/.test(obj.value))
          {
          returntrue;
          }
          else
          {
          f_alert(obj,"請(qǐng)輸入實(shí)數(shù)");
          returnfalse;
          }
          }

          /*
          * 校驗(yàn)數(shù)字的長(zhǎng)度和精度
          */
          代碼

          functionf_check_double(obj){
          varnumReg;
          varvalue=obj.value;
          varstrValueTemp,strInt,strDec;
          vardtype=obj.eos_datatype;
          varpos_dtype=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
          varlen=pos_dtype[0],prec=pos_dtype[1];
          try
          {
          numReg=/[\-]/;
          strValueTemp=value.replace(numReg,"");
          numReg=/[\+]/;
          strValueTemp=strValueTemp.replace(numReg,"");
          //整數(shù)
          if(prec==0){
          numReg=/[\.]/;
          if(numReg.test(value)==true){
          f_alert(obj,"輸入必須為整數(shù)類(lèi)型");
          returnfalse;
          }
          }
          if(strValueTemp.indexOf(".")<0){
          if(strValueTemp.length>(len-prec)){
          f_alert(obj,"整數(shù)位不能超過(guò)"+(len-prec)+"");
          returnfalse;
          }
          }else{
          strInt=strValueTemp.substr(0,strValueTemp.indexOf("."));
          if(strInt.length>(len-prec)){
          f_alert(obj,"整數(shù)位不能超過(guò)"+(len-prec)+"");
          returnfalse;
          }
          strDec=strValueTemp.substr((strValueTemp.indexOf(".")+1),strValueTemp.length);
          if(strDec.length>prec){
          f_alert(obj,"小數(shù)位不能超過(guò)"+prec+"");
          returnfalse;
          }
          }
          returntrue;
          }catch(e){
          alert("in f_check_double = "+e);
          returnfalse;
          }
          }

          /*
          * 校驗(yàn)數(shù)字的最小最大值
          * 返回bool
          */
          代碼

          functionf_check_interval(obj)
          {
          varvalue=parseFloat(obj.value);

          vardtype=obj.eos_datatype;
          varpos_dtype=dtype.substring(dtype.indexOf("(")+1,dtype.indexOf(")")).split(",");
          varminLimit=pos_dtype[0];
          varmaxLimit=pos_dtype[1];
          varminVal=parseFloat(pos_dtype[0]);
          varmaxVal=parseFloat(pos_dtype[1]);
          if(isNaN(value))
          {
          f_alert(obj,"值必須為數(shù)字");
          returnfalse;
          }
          if((isNaN(minVal)&&(minLimit!="-"))||(isNaN(maxVal)&&(maxLimit!="+")))
          {
          f_alert(obj,"邊界值必須為數(shù)字或-、+");
          returnfalse;
          }

          if(minLimit=="-"&&!isNaN(maxVal))
          {
          if(value>maxVal)
          {
          f_alert(obj,"值不能超過(guò)"+maxVal);
          returnfalse;
          }
          }
          if(!isNaN(minVal)&&maxLimit=="+")
          {
          if(value<minVal)
          {
          f_alert(obj,"值不能小于"+minVal);
          returnfalse;
          }
          }
          if(!isNaN(minVal)&&!isNaN(maxVal))
          {
          if(minVal>maxVal)
          {
          f_alert(obj,"起始值"+minVal+"不能大于終止值"+maxVal);
          }else
          {
          if(!(value<=maxVal&&value>=minVal))
          {
          f_alert(obj,"值應(yīng)該在"+minVal+""+maxVal+"之間");
          returnfalse;
          }
          }
          }
          returntrue;
          }


          /*
          用途:檢查輸入字符串是否只由漢字組成
          如果通過(guò)驗(yàn)證返回true,否則返回false
          */
          代碼

          functionf_check_zh(obj){
          if(/^[\u4e00-\u9fa5]+$/.test(obj.value)){
          returntrue;
          }
          f_alert(obj,"請(qǐng)輸入漢字");
          returnfalse;
          }

          /*
          * 判斷是否為小寫(xiě)英文字母,是則返回true,否則返回false
          */
          代碼

          functionf_check_lowercase(obj)
          {
          if(/^[a-z]+$/.test(obj.value))
          {
          returntrue;
          }
          f_alert(obj,"請(qǐng)輸入小寫(xiě)英文字母");
          returnfalse;
          }

          /*
          * 判斷是否為大寫(xiě)英文字母,是則返回true,否則返回false
          */
          代碼

          functionf_check_uppercase(obj)
          {
          if(/^[A-Z]+$/.test(obj.value))
          {
          returntrue;
          }
          f_alert(obj,"請(qǐng)輸入大寫(xiě)英文字母");
          returnfalse;
          }

          /*
          * 判斷是否為英文字母,是則返回true,否則返回false
          */
          代碼

          functionf_check_letter(obj)
          {
          if(/^[A-Za-z]+$/.test(obj.value))
          {
          returntrue;
          }
          f_alert(obj,"請(qǐng)輸入英文字母");
          returnfalse;
          }

          /*
          用途:檢查輸入字符串是否只由漢字、字母、數(shù)字組成
          輸入:
          value:字符串
          返回:
          如果通過(guò)驗(yàn)證返回true,否則返回false
          */
          代碼

          functionf_check_ZhOrNumOrLett(obj){//判斷是否是漢字、字母、數(shù)字組成
          varregu="^[0-9a-zA-Z\u4e00-\u9fa5]+$";
          varre=newRegExp(regu);
          if(re.test(obj.value)){
          returntrue;
          }
          f_alert(obj,"請(qǐng)輸入漢字、字母或數(shù)字");
          returnfalse;
          }

          /*
          用途:校驗(yàn)ip地址的格式
          輸入:strIP:ip地址
          返回:如果通過(guò)驗(yàn)證返回true,否則返回false;
          */
          代碼

          functionf_check_IP(obj)
          {
          varre=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/;//匹配IP地址的正則表達(dá)式
          if(re.test(obj.value))
          {
          if(RegExp.$1<256&&RegExp.$2<256&&RegExp.$3<256&&RegExp.$4<256)returntrue;
          }
          f_alert(obj,"請(qǐng)輸入合法的計(jì)算機(jī)IP地址");
          returnfalse;
          }

          /*
          用途:檢查輸入對(duì)象的值是否符合端口號(hào)格式
          輸入:str 輸入的字符串
          返回:如果通過(guò)驗(yàn)證返回true,否則返回false
          */
          代碼

          functionf_check_port(obj)
          {
          if(!f_check_number(obj))
          returnfalse;
          if(obj.value<65536)
          returntrue;
          f_alert(obj,"請(qǐng)輸入合法的計(jì)算機(jī)IP地址端口號(hào)");
          returnfalse;
          }

          /*
          用途:檢查輸入對(duì)象的值是否符合網(wǎng)址格式
          輸入:str 輸入的字符串
          返回:如果通過(guò)驗(yàn)證返回true,否則返回false
          */
          代碼

          functionf_check_URL(obj){
          varmyReg=/^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;
          if(myReg.test(obj.value))returntrue;
          f_alert(obj,"請(qǐng)輸入合法的網(wǎng)頁(yè)地址");
          returnfalse;
          }

          /*
          用途:檢查輸入對(duì)象的值是否符合E-Mail格式
          輸入:str 輸入的字符串
          返回:如果通過(guò)驗(yàn)證返回true,否則返回false
          */
          代碼

          functionf_check_email(obj){
          varmyReg=/^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;
          if(myReg.test(obj.value))returntrue;
          f_alert(obj,"請(qǐng)輸入合法的電子郵件地址");
          returnfalse;
          }

          /*
          要求:一、移動(dòng)電話號(hào)碼為11或12位,如果為12位,那么第一位為0
          二、11位移動(dòng)電話號(hào)碼的第一位和第二位為"13"
          三、12位移動(dòng)電話號(hào)碼的第二位和第三位為"13"
          用途:檢查輸入手機(jī)號(hào)碼是否正確
          輸入:
          s:字符串
          返回:
          如果通過(guò)驗(yàn)證返回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,"請(qǐng)輸入正確的手機(jī)號(hào)碼");
          returnfalse;
          }

          /*
          要求:一、電話號(hào)碼由數(shù)字、"("、")"和"-"構(gòu)成
          二、電話號(hào)碼為3到8位
          三、如果電話號(hào)碼中包含有區(qū)號(hào),那么區(qū)號(hào)為三位或四位
          四、區(qū)號(hào)用"("、")"或"-"和其他部分隔開(kāi)
          用途:檢查輸入的電話號(hào)碼格式是否正確
          輸入:
          strPhone:字符串
          返回:
          如果通過(guò)驗(yàn)證返回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,"請(qǐng)輸入正確的電話號(hào)碼");
          returnfalse;
          }

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

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

          /*
          用戶(hù)ID,可以為數(shù)字、字母、下劃線的組合,
          第一個(gè)字符不能為數(shù)字,且總長(zhǎng)度不能超過(guò)20。
          */
          代碼

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

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


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

          functionf_check_IDno(obj)
          {
          varaCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"內(nèi)蒙古",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:"臺(tái)灣",81:"香港",82:"澳門(mén)",91:"國(guó)外"};
          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,"非法身份證號(hào)");
          returnfalse;
          }
          //在后面的運(yùn)算中x相當(dāng)于數(shù)字10,所以轉(zhuǎn)換成a
          strIDno=strIDno.replace(/x$/i,"a");

          if(aCity[parseInt(strIDno.substr(0,2))]==null)
          {
          f_alert(obj,"非法地區(qū)");
          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,"非法身份證號(hào)");
          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;
          }


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

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

          /*
          功能:判斷是否為日期(格式:yyyy年MM月dd日,yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd)
          提示信息:未輸入或輸入的日期格式錯(cuò)誤!
          使用: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,"日期格式不對(duì)");
          returnfalse;
          }
          matchArray=date.match(datePat);
          if(matchArray==null)
          {
          f_alert(obj,"日期長(zhǎng)度不對(duì),或日期中有非數(shù)字符號(hào)");
          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,"月份應(yīng)該為1到12的整數(shù)");
          returnfalse;
          }
          if(day<1||day>31)
          {
          f_alert(obj,"每個(gè)月的天數(shù)應(yīng)該為1到31的整數(shù)");
          returnfalse;
          }
          if((month==4||month==6||month==9||month==11)&&day==31)
          {
          f_alert(obj,"該月不存在31號(hào)");
          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;
          }


          /*
          功能:校驗(yàn)的格式為yyyy年MM月dd日HH時(shí)mm分ss秒,yyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ss,yyyyMMddHHmmss
          提示信息:未輸入或輸入的時(shí)間格式錯(cuò)誤
          使用: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時(shí)mm分ss秒)$/.test(format))
          datePat=/^(\d{4})年(\d{1,2})月(\d{1,2})日(\d{1,2})時(shí)(\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,"日期格式不對(duì)");
          returnfalse;
          }
          matchArray=time.match(datePat);
          if(matchArray==null)
          {
          f_alert(obj,"日期長(zhǎng)度不對(duì),或日期中有非數(shù)字符號(hào)");
          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,"月份應(yīng)該為1到12的整數(shù)");
          returnfalse;
          }
          if(day<1||day>31)
          {
          f_alert(obj,"每個(gè)月的天數(shù)應(yīng)該為1到31的整數(shù)");
          returnfalse;
          }
          if((month==4||month==6||month==9||month==11)&&day==31)
          {
          f_alert(obj,"該月不存在31號(hào)");
          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,"小時(shí)應(yīng)該是0到23的整數(shù)");
          returnfalse;
          }
          if(minute<0||minute>59)
          {
          f_alert(obj,"分應(yīng)該是0到59的整數(shù)");
          returnfalse;
          }
          if(second<0||second>59)
          {
          f_alert(obj,"秒應(yīng)該是0到59的整數(shù)");
          returnfalse;
          }
          returntrue;
          }


          /*判斷當(dāng)前對(duì)象是否可見(jiàn)*/
          代碼

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

          /*判斷當(dāng)前對(duì)象及其父對(duì)象是否可見(jiàn)*/
          代碼

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

          /* 彈出警告對(duì)話框,用戶(hù)點(diǎn)確定后將光標(biāo)置于出錯(cuò)文本框上, 并且將原來(lái)輸入內(nèi)容選中。*/
          代碼

          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();
          }

          /**
          * 檢測(cè)字符串是否為空
          */
          代碼

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

          /**
          * 檢測(cè)指定文本框輸入是否合法。
          * 如果用戶(hù)輸入的內(nèi)容有錯(cuò),則彈出提示對(duì)話框,
          * 同時(shí)將焦點(diǎn)置于該文本框上,并且該文本框前面
          * 會(huì)出現(xiàn)一個(gè)警告圖標(biāo)(輸入正確后會(huì)自動(dòng)去掉)。
          */
          代碼

          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;

          /* 長(zhǎng)度校驗(yàn) */
          if(length!=0&&strlen(object.value)>parseInt(length)){
          f_alert(object,"超出最大長(zhǎng)度"+length);
          returnfalse;
          }
          /* 數(shù)據(jù)類(lèi)型校驗(yàn) */
          else{
          if(object.eos_datatype+""!="undefined")
          {

          vardtype=object.eos_datatype;
          varobjName=object.name;
          //如果類(lèi)型名后面帶有括號(hào),則視括號(hào)前面的字符串為校驗(yàn)類(lèi)型
          if(dtype.indexOf("(")!=-1)
          dtype=dtype.substring(0,dtype.indexOf("("));
          //根據(jù)頁(yè)面元素的校驗(yàn)類(lèi)型進(jìn)行校驗(yàn)
          try{
          if(eval("f_check_"+dtype+"(object)")!=true)
          returnfalse;
          }catch(e){returntrue;}
          /* 如果form中存在name前半部分相同,并且同時(shí)存在以"min"和"max"結(jié)尾的表單域,
          那么視為按區(qū)間查詢(xún)。即"min"結(jié)尾的表單域的值要小于等于"max"結(jié)尾的表單域的值。 *
          /
          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;
          }


          /* 檢測(cè)表單中所有輸入項(xiàng)的正確性,一般用于表單的onsubmit事件 */
          代碼

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

          /**
          * 校驗(yàn)兩個(gè)表單域數(shù)據(jù)的大小,目前只允許比較日期和數(shù)字。
          * @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;
          }
          // 日期類(lèi)型的比較
          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;
          }
          }
          // 數(shù)字類(lèi)型的比較
          if((isNaN(val1)&&!isnull(val1))||(isNaN(val2)&&!isnull(val2))){
          alert(caption1+"的值不全為數(shù)字則不能比較!");
          returnfalse;
          }
          if(val1>val2){
          obj2.select();
          if(isVisible(obj)&&checkPrVis(obj))
          obj2.focus();
          alert(caption1+"的起始值不能大于其終止值!");
          returnfalse;
          }
          returntrue;
          }

          /*根據(jù)日期格式,將字符串轉(zhuǎn)換成Date對(duì)象。
          格式:yyyy-年,MM-月,dd-日,HH-時(shí),mm-分,ss-秒。
          (格式必須寫(xiě)全,例如:yy-M-d,是不允許的,否則返回null;格式與實(shí)際數(shù)據(jù)不符也返回null。)
          默認(rèn)格式: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-28 21:15 OMG 閱讀(306) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): Data validate

          <2006年10月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(1)

          隨筆分類(lèi)

          隨筆檔案

          IT風(fēng)云人物

          文檔

          朋友

          相冊(cè)

          經(jīng)典網(wǎng)站

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 平谷区| 永春县| 永昌县| 冕宁县| 临邑县| 清远市| 林甸县| 宝山区| 沛县| 佳木斯市| 涡阳县| 楚雄市| 闽清县| 宽甸| 宁明县| 汶上县| 新竹县| 留坝县| 平山县| 三门峡市| 门头沟区| 平果县| 行唐县| 丹阳市| 崇义县| 中西区| 仁化县| 昆明市| 金塔县| 陇西县| 莎车县| 班戈县| 甘泉县| 清镇市| 新津县| 连云港市| 辽中县| 英吉沙县| 台南市| 东安县| 邳州市|