【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;i8. {
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;
}
}