码迷,mamicode.com
首页 > 编程语言 > 详细

javascript验证数据类型

时间:2015-07-02 12:24:15      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

最近通过对Underscore.js源码的学习,对javascript数据类型的验证又有了一个新的认识,原来可以判断得这么简单又如此全面。

我们自定义了isString,isNumber ,isDate ,isError ,isRegExp ,isBoolean ,isNull ,isUndefined ,isObject等方法。现在将自己定义的javascript数据类型验证函数及测试集展示:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		
	</body>
<script type="text/javascript">
//isString
//isNumber
//isDate
//isError
//isRegExp
//直接利用和数据类型来判断
[].forEach.call(['String','Number','Date','Error','RegExp'],function(name){
	this['is'+name]=function(obj){
		return toString.call(obj)==='[object '+name+']';
	};
});
//isBoolean
//true和false需要考虑在内
Object.prototype.isBoolean=function(obj){
	return obj===true||obj===false||toString.call(obj)==='[object Boolean]';
};
//isNull
//未找到所指向对象
Object.prototype.isNull=function(obj){
	return obj===null;
};
//isUndefined
//定义了但是未赋值
Object.prototype.isUndefined=function(obj){
	return obj===void 0;
};
//isObject
//函数和数组都是对象
Object.prototype.isObject=function(obj){
	var type = typeof obj;
	return type === 'function' || type === 'object' && !!obj;
};

//test
//isString
var str="iamstring";
var a=isString(str);
console.log(a);//true

//isNumber
var b=isNumber(a);
console.log(b);//false

//isNumber
var num=4;
var c=isNumber(num);
console.log(c);//true

//isRegExp
var reg=/^[1-9]/;
var d=isRegExp(reg);
console.log(d);//true

//isDate
var date=new Date();
var e=isDate(date);
console.log(e);//true

//isBoolean
var bool=false;
var f=isBoolean(bool);
console.log(f);//true

//isNull
var nul=document.getElementById("div02");
var g=isNull(nul);
console.log(g);//true

//isUndefined
var undef;
var h=isUndefined(undef);
console.log(h);//true

//isObject
var obj={"1":"1","2":"2"};
var i=isObject(obj);
console.log(i);//true

</script>
</html>

代码的位置在:

http://runjs.cn/code/ucwpitro


版权声明:本文为博主原创文章,未经博主允许不得转载。

javascript验证数据类型

标签:

原文地址:http://blog.csdn.net/mevicky/article/details/46722261

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!