微信号:infoqchina

介绍:有内容的技术社区媒体

Is.js为检查数据提供简单的方法

2015-02-25 12:02 Iffland



在那些庞大的无所不能的JavaScript框架包围下,小型的库is.js却能受到开发人员的青睐。在一个精简而方便的包中,它能提供超过100种的数据检查方法。


“我每天都要用到这些数据检查方法,所以我写了这个库,”is.js的作者Aras Atasaygin说道。要使用这个库,只要把is.min.js加入到项目中,然后就开始提问吧:

is.capitalized("Yes it is");


到目前为止,这个库已经支持了大量的数据检查,从类型检查如is.function()到日期检查如is.inNextYear()。目前已经提供超过100种不同的类型、是否存在、正则表达式、字符串、算术以及环境变量检查,更多的还在开发中。其中一些检查要比另外一些更可靠。举个例子,众所周知判断email地址的正则表达式是很难做到万无一失的,而判断浏览器使用者是否处在夏令时的时区则比较简单。


除了这些简单的检查,is.js还支持检查条件的逻辑组合,像all和any,它们需要有多个参数,分别检查是否所有参数都满足条件,或者任一参数满足条件。开发者还可以使用not来反转检查结果。


所支持的检查都不是很复杂,并且很有可能很多开发者自己也写过类似库来满足自己特殊的需求,但使用is.js可以节省开发者的时间。is.js还有一个特色就是支持一系列正则表达式检查,很多常用的默认都包括在内。比如,检查一个字符串是否是一个网址:

http://is.url("http://www.infoq.com");


在代码中,很多检查是基于正则表达式(静态字符串)的,所以很难保持最小体积。随着新的检查的加入,这个库将面临着越来越臃肿的问题。Atasaygin说他一直在听取贡献者的建议,如果大家需要,将来可能会加入模块化的功能。


“现在我在加入贡献者们提交给我的新的检查,并听取社区对下一步发展的建议,”Atasaygin说。这个项目托管在GitHub上,您可以点击“阅读原文”查看该项目。



 
InfoQ 更多文章 Facebook如何实现PB级别数据库自动化备份 学术派Google软件工程师Matt Welsh谈移动开发趋势 Spotify为什么要使用一些“无聊”的技术? 妹纸们放假了,汉纸们做啥? 大多数重构可以避免
猜您喜欢 无处可逃的“隐私”收集器 深扒:和颐酒店女生遭劫持事件牵出如家黑幕,偷拍、半夜闯入层出不穷…… web前端规范目的 异常的深入研究与分析(1) Spotify入云实践:Google Dataflow的卓越表现