BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 David Iffland 关注 4 他的粉丝 ,译者 曹知渊 关注 1 他的粉丝 发布于 2015年2月16日. 估计阅读时间: 2 分钟 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!

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

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

is.capitalized("Yes it is");

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

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

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

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

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

“现在我在加入贡献者们提交给我的新的检查,并听取社区对下一步发展的建议,”Atasaygin说。这个项目托管在GitHub上。

查看英文原文:Is.js Offers Simple Way to Check Data

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT