现在的位置: 首页 > 综合 > 正文

JavaScript通用校验汇总

2013年06月06日 ⁄ 综合 ⁄ 共 3026字 ⁄ 字号 评论关闭

                                                                 JavaScript通用校验汇总

/**

* 1.取得字符串的字节长度

*/

 

 

代码

function strlen(str)   

{   

   
var i;   

   
var len;   

       

   
len = 0;   

   
for (i=0;i<str.length;i++)   

   
{   

       
if (str.charCodeAt(i)>255) len+=2; else len++;   

   
}   

   
return len;   

}   

  

 

/*

* 2.判断是否为数字,是则返回true,否则返回false

*/

 

 

代码

function f_check_number(obj)   

{          

   
if (/^/d+$/.test(obj.value))   

   
{   

      
return true;   

   
}    

   
else    

   
{   

      
f_alert(obj,"请输入数字");   

      
return false;   

   
}   

}   

  

 

/*

* 3.判断是否为自然数,是则返回true,否则返回false

*/

 

 

代码

function f_check_naturalnumber(obj)   

{          

   
var s = obj.value;   

   
if (/^[0-9]+$/.test( s ) && (s > 0))   

   
{   

      
return true;   

   
}    

   
else    

   
{   

       
f_alert(obj,"请输入自然数");   

       
return false;   

 
  
}   

}   

  

 

/*

* 4.判断是否为整数,是则返回true,否则返回false

*/

 

 

代码

function f_check_integer(obj)   

{          

   
if (/^(/+|-)?/d+$/.test( obj.value ))    

   
{   

      
return true;   

   
}    

   
else    

   
{   

       
f_alert(obj,"请输入整数");   

       
return false;   

   
}   

}   

  

 

/*

* 5.判断是否为实数,是则返回true,否则返回false

*/

 

 

代码

function f_check_float(obj)   

{          

   
if (/^(/+|-)?/d+($|/./d+$)/.test( obj.value ))    

   
{   

      
return true;   

   
}    

   
else 
   

   
{   

       
f_alert(obj,"请输入实数");   

      
return false;   

   
}   

}   

  

 

/*

* 6.校验数字的长度和精度

*/

 

 

代码

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;   

   
}      

}   

  

 

/*

* 7.校验数字的最小最大值

* 返回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];   

抱歉!评论已关闭.