javaScript通用数据类型校验函数

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

本文介绍了一些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;   
}

标签:函数,JavaScript,验证
0
投稿

猜你喜欢

  • Oracle轻松取得建表和索引的DDL语句

    2009-02-26 10:26:00
  • MySQL查询优化

    2009-03-09 14:41:00
  • 如何判断JavaScript变量的类型

    2009-02-25 12:28:00
  • Ext2.0.2经典的一个JS组件(带EXT中文手册)

    2009-04-13 12:24:00
  • DSN和DSN-Less两种数据库连接方式哪一种更好?

    2009-10-28 18:26:00
  • 如何对Oracle8数据库进行维护?

    2009-11-20 18:01:00
  • 定义列表 dt dl

    2008-08-03 17:14:00
  • oracle 存储过程加密的方法

    2009-03-06 10:58:00
  • [译]艺术和设计的差异 (1)

    2009-09-25 12:38:00
  • ASP URL反编码函数代码

    2011-02-28 11:04:00
  • 网页iframe元素应用浅析

    2009-04-11 18:11:00
  • 十几行的超简日历组件(兼容FF)js源码

    2010-08-08 08:49:00
  • IE下中英文字体不能对齐原因及解决

    2008-08-11 12:47:00
  • MySQL最新漏洞分析

    2012-07-11 15:41:10
  • IE6局部调用PNG32合并图片

    2009-03-11 21:24:00
  • ASP中使用Session变量的优缺点

    2007-10-01 18:02:00
  • 图片预载ImageLoader 1.1 Release

    2008-11-04 20:04:00
  • Ajax缓存和编码问题的最终解决方案

    2010-03-30 13:42:00
  • CSS双线边框研究

    2009-09-03 12:12:00
  • Dojo Style Javascript 编程规范

    2007-10-25 17:24:00
  • asp之家 网络编程 m.aspxhome.com