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

javaScript通用数据类型校验函数

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

标签:函数,JavaScript,验证

本文介绍了一些JavaScript常用到得表单验证函数,方便大家使用。

 判断是否为整数,是则返回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;   
}

0
投稿

猜你喜欢

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