<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    OMG,到底在尋找什么..................
    (構造一個完美的J2EE系統所需要的完整知識體系)
    posts - 198,  comments - 37,  trackbacks - 0
    **
    * 取得字符串的字節長度
    */
    代碼

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

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

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

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

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

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

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

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

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

    /*
    * 校驗數字的長度和精度
    */
    代碼

    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,"");
    //整數
    if(prec==0){
    numReg=/[\.]/;
    if(numReg.test(value)==true){
    f_alert(obj,"輸入必須為整數類型");
    returnfalse;
    }
    }
    if(strValueTemp.indexOf(".")<0){
    if(strValueTemp.length>(len-prec)){
    f_alert(obj,"整數位不能超過"+(len-prec)+"");
    returnfalse;
    }
    }else{
    strInt=strValueTemp.substr(0,strValueTemp.indexOf("."));
    if(strInt.length>(len-prec)){
    f_alert(obj,"整數位不能超過"+(len-prec)+"");
    returnfalse;
    }
    strDec=strValueTemp.substr((strValueTemp.indexOf(".")+1),strValueTemp.length);
    if(strDec.length>prec){
    f_alert(obj,"小數位不能超過"+prec+"");
    returnfalse;
    }
    }
    returntrue;
    }catch(e){
    alert("in f_check_double = "+e);
    returnfalse;
    }
    }

    /*
    * 校驗數字的最小最大值
    * 返回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,"值必須為數字");
    returnfalse;
    }
    if((isNaN(minVal)&&(minLimit!="-"))||(isNaN(maxVal)&&(maxLimit!="+")))
    {
    f_alert(obj,"邊界值必須為數字或-、+");
    returnfalse;
    }

    if(minLimit=="-"&&!isNaN(maxVal))
    {
    if(value>maxVal)
    {
    f_alert(obj,"值不能超過"+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,"值應該在"+minVal+""+maxVal+"之間");
    returnfalse;
    }
    }
    }
    returntrue;
    }


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

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

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

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

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

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

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

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

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

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

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

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

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

    functionf_check_port(obj)
    {
    if(!f_check_number(obj))
    returnfalse;
    if(obj.value<65536)
    returntrue;
    f_alert(obj,"請輸入合法的計算機IP地址端口號");
    returnfalse;
    }

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

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

    /*
    用途:檢查輸入對象的值是否符合E-Mail格式
    輸入:str 輸入的字符串
    返回:如果通過驗證返回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,"請輸入合法的電子郵件地址");
    returnfalse;
    }

    /*
    要求:一、移動電話號碼為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-28 21:15 OMG 閱讀(304) 評論(0)  編輯  收藏 所屬分類: Data validate

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

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    IT風云人物

    文檔

    朋友

    相冊

    經典網站

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲精品成人a v小说| 亚洲成人网在线观看| 亚洲色大成网站www永久网站| 韩国免费a级作爱片无码| 成人片黄网站色大片免费| 亚洲AV永久无码区成人网站| 国产精品亚洲片在线花蝴蝶| 中文免费观看视频网站| 亚洲色大成网站WWW久久九九| 亚洲精品精华液一区二区 | 国产亚洲精品a在线无码| 亚洲aⅴ无码专区在线观看 | 久久天天躁狠狠躁夜夜免费观看| 亚洲va无码va在线va天堂| 特级aa**毛片免费观看| 国产精品免费观看久久| 亚洲精品自产拍在线观看动漫| 深夜福利在线视频免费| 午夜无遮挡羞羞漫画免费| 亚洲一区中文字幕在线观看| 国产精品免费无遮挡无码永久视频 | 亚洲精品无码久久久久A片苍井空| 99精品热线在线观看免费视频| 亚洲欧洲精品成人久久奇米网 | 无码精品人妻一区二区三区免费看| 亚洲伊人久久综合中文成人网| 国产精品无码亚洲精品2021| 欧美大尺寸SUV免费| 亚洲自偷精品视频自拍| 四虎影视成人永久免费观看视频| 亚洲无人区一区二区三区| 成年大片免费高清在线看黄| 日本不卡高清中文字幕免费| 一区二区亚洲精品精华液| 0588影视手机免费看片| 夜夜亚洲天天久久| 久艹视频在线免费观看| 亚洲成a人片在线观看日本| 免费萌白酱国产一区二区三区 | 国产精品亚洲片在线观看不卡| 国产精品美女久久久免费 |