验证为( 正负整数和正负小数(2位小数))

解决方案 »

  1.   

    是否正负整数:^\-?\d+$
    正负小数(固定2位):^\-?\d+(.\d{2}?)$
    正负小数(1或2位):^\-?\d+(.\d{1,2}?)$
      

  2.   

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