网络编程
位置:首页>> 网络编程>> JavaScript>> javaScript通用数据类型校验函数(8)

javaScript通用数据类型校验函数(8)

 来源:asp之家 发布时间:2009-07-06 12:49:00 

标签:函数,JavaScript,验证

 检测表单中所有输入项的正确性,一般用于表单的onsubmit事件

function checkForm(myform)   
{   
    var i;   
    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],"不能为空");   
            return false;   
        }          
        /* 数据类型校验 */  
        if (checkInput(myform.elements[i])==false)   
            return false;                  
    }   
    return true;   
}

 校验两个表单域数据的大小,目前只允许比较日期和数字。
* @param obj1 小值表单域
* @param obj2 大值表单域

function checkIntervalObjs(obj1 , obj2)   
{      
    var caption1 = obj1.getAttribute("eos_displayname");   
    var caption2 = obj2.getAttribute("eos_displayname");   
    var val1 = parseFloat(obj1.value);   
    var val2 = parseFloat(obj2.value);   
    // 非自定义属性的元素不予理睬   
    if (obj1.eos_displayname + "" == "undefined" || obj2.eos_displayname + "" == "undefined") {   
        return false;   
    }   
    // 日期类型的比较   
    if(f_check_date(obj1) == true && f_check_date(obj2) == true){   
        var dtype = obj1.eos_datatype;   
        var format = 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 + "的起始日期不能大于其终止日期!");   
        return false;   
        }   
    }   
    // 数字类型的比较   
    if((isNaN(val1) && !isnull(val1)) || (isNaN(val2) && !isnull(val2))){   
        alert(caption1 + "的值不全为数字则不能比较!");   
        return false;   
    }   
    if(val1 > val2){   
        obj2.select();   
        if(isVisible(obj) && checkPrVis(obj))   
            obj2.focus();   
        alert(caption1 + "的起始值不能大于其终止值!");   
        return false;   
    }   
    return true;   
}

根据日期格式,将字符串转换成Date对象。
格式:yyyy-年,MM-月,dd-日,HH-时,mm-分,ss-秒。
(格式必须写全,例如:yy-M-d,是不允许的,否则返回null;格式与实际数据不符也返回null。)
默认格式:yyyy-MM-dd HH:mm:ss,yyyy-MM-dd。

function getDateByFormat(str){   
    var dateReg,format;   
    var y,M,d,H,m,s,yi,Mi,di,Hi,mi,si;   
    if((arguments[1] + "") == "undefined") format = "yyyy-MM-dd HH:mm:ss";   
    else format = 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) return null;   
    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)) return null;   
    if(Hi == -1 || mi == -1 || si == -1) return new Date(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))) return new Date(y, M-1, d);   
    else return new Date(y, M-1, d,H, m, s);   
}   

LTrim(string):去除左边的空格

function LTrim(str){   

    var whitespace = new String(" \t\n\r");   

    var s = new String(str);      

  

    if (whitespace.indexOf(s.charAt(0)) != -1){   

        var j=0, i = s.length;   

        while (j < i && whitespace.indexOf(s.charAt(j)) != -1){   

            j++;   

        }   

        s = s.substring(j, i);   

    }   

    return s;   

}

RTrim(string):去除右边的空格

function RTrim(str){   
    var whitespace = new String(" \t\n\r");   
    var s = new String(str);   
    
    if (whitespace.indexOf(s.charAt(s.length-1)) != -1){   
        var i = s.length - 1;   
        while (i >= 0 && whitespace.indexOf(s.charAt(i)) != -1){   
            i--;   
        }   
        s = s.substring(0, i+1);   
    }   
    return s;   
}

Trim(string):去除字符串两边的空格

function Trim(str){   
    return RTrim(LTrim(str));   

 

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com