在那些庞大的无所不能的 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 还有一个特色就是支持一系列正则表达式检查,很多常用的默认都包括在内。比如,检查一个字符串是否是一个网址:
is.url("http://www.infoq.com");
在代码中,很多检查是基于正则表达式(静态字符串)的,所以很难保持最小体积。随着新的检查的加入,这个库将面临着越来越臃肿的问题。Atasaygin 说他一直在听取贡献者的建议,如果大家需要,将来可能会加入模块化的功能。
“现在我在加入贡献者们提交给我的新的检查,并听取社区对下一步发展的建议,”Atasaygin 说。这个项目托管在 GitHub 上。
评论