【www.gdgbn.com--js教程】

对不同类型对象分别使用我所介绍的两种方法进行类型检查的结果。表格的第一列显示了我们试图找到其类型的对象。每二列是运行typeof variable(variable 为第一列所示的值)。此列中的所有结果都是字符串。最后,第三列显示了对第一列包含的对象运行variable.constructor 所得的结果。些列中的所有结果都是对象。

表1. 变量类型检查

———————————————————————————————
variable       typeof variable       variable.constructor
———————————————————————————————
{an:"object"}    object            object
["an","array"]     object           array
function(){}     function           function
"a string"       string            string
55         number           number
true         boolean           boolean
new user()      object            user
——————————————————————————————————

使用一个变量的constructor 作为对象类型的引用可能是最简单的类型检查方式


//检查我们的数字是否其实是一个字符串
if ( num.constructor == string )
//如果是,则将它解析成数字
num = parseint( num );
//检查我们的字符串是否其实是一个数组
if ( str.constructor == array )
//如果是,则用逗号连接该数组,得到一个字符串
str = str.join(",");

取得字符串的字节长度
*/
java代码

   1. function strlen(str)  
   2. {  
   3.     var i;  
   4.     var len;  
   5.       
   6.     len = 0;  
   7.     for (i=0;i    8.     {  
   9.         if (str.charcodeat(i)>255) len+=2; else len++;  
  10.     }  
  11.     return len;  
  12. }  
  13.    

function strlen(str)
{
    var i;
    var len;
    
    len = 0;
    for (i=0;i     {
        if (str.charcodeat(i)>255) len+=2; else len++;
    }
    return len;
}
 

 

 


/*
* 判断是否为数字,是则返回true,否则返回false
*/
java代码

 

   1. function f_check_number(obj)  
   2. {         
   3.     if (/^d+$/.test(obj.value))  
   4.     {  
   5.        return true;  
   6.     }   
   7.     else   
   8.     {  
   9.        f_alert(obj,"请输入数字");  
  10.        return false;  
  11.     }  
  12. }  


  13.    

function f_check_number(obj)
{       
    if (/^d+$/.test(obj.value))
    {
       return true;
    }
    else
    {
       f_alert(obj,"请输入数字");
       return false;
    }
}


 


/*
* 判断是否为自然数,是则返回true,否则返回false
*/
java代码

   1. function f_check_naturalnumber(obj)  
   2. {         
   3.     var s = obj.value;  
   4.     if (/^[0-9]+$/.test( s ) && (s > 0))  
   5.     {  
   6.        return true;  
   7.     }   
   8.     else   
   9.     {  
  10.         f_alert(obj,"请输入自然数");  
  11.         return false;  
  12.     }  
  13. }  
  14.    

 

 

 



function f_check_naturalnumber(obj)
{       
    var s = obj.value;
    if (/^[0-9]+$/.test( s ) && (s > 0))
    {
       return true;
    }
    else
    {
        f_alert(obj,"请输入自然数");
        return false;
    }
}
 




/*
* 判断是否为整数,是则返回true,否则返回false
*/
java代码

  

1. function f_check_integer(obj)  
   2. {         
   3.     if (/^(+|-)?d+$/.test( obj.value ))   
   4.     {  
   5.        return true;  
   6.     }   
   7.     else   
   8.     {  
   9.         f_alert(obj,"请输入整数");  
  10.         return false;  
  11.     }  
  12. }  
 

13.    

function f_check_integer(obj)
{       
    if (/^(+|-)?d+$/.test( obj.value ))
    {
       return true;
    }
    else
    {
        f_alert(obj,"请输入整数");
        return false;
    }
}
 

 

 


/*
* 判断是否为实数,是则返回true,否则返回false
*/
java代码

 

 

  1. function f_check_float(obj)  
   2. {         
   3.     if (/^(+|-)?d+($|.d+$)/.test( obj.value ))   
   4.     {  
   5.        return true;  
   6.     }   
   7.     else   
   8.     {  
   9.         f_alert(obj,"请输入实数");  
  10.        return false;  
  11.     }  
  12. }  
  13.    

 

function f_check_float(obj)
{       
    if (/^(+|-)?d+($|.d+$)/.test( obj.value ))
    {
       return true;
    }
    else
    {
        f_alert(obj,"请输入实数");
       return false;
    }
}

 

本文来源:http://www.gdgbn.com/wangyezhizuo/27676/