JavaScript检测之basevalidate.js
上篇文章「JavaScript检测原始值、引用值、属性」中涉及了大量有用的代码范例,为了让大家更方便的使用这些代码,博主特意把这些代码重新整理并托管到 GitHub,项目地址是:https://github.com/stone0090/s-fontend/tree/master/me/basevalidate。
basevalidate.js 包含 14个独立检测方法 和 1个综合检测方法,示例代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>basevalidate test</title><script type="text/javascript" src="basevalidate.js"></script><script>var Person = function(){this.name = 'stone';this.age = 30;}var person = new Person();var nums = [123, 456, 789];// 14个独立检测方法console.log(baseValidate.isString(null));console.log(baseValidate.isNumber(null));console.log(baseValidate.isBoolean(null));console.log(baseValidate.isUndefined(null));console.log(baseValidate.isNull(null));console.log(baseValidate.isObject(null));console.log(baseValidate.instanceOf(null));console.log(baseValidate.isFunction(null));console.log(baseValidate.isArray(null));console.log(baseValidate.isProperty(null));console.log(baseValidate.isOwnProperty(null));console.log(baseValidate.isDomProperty(null));console.log(baseValidate.isBomProperty(null));console.log(baseValidate.isEmpty(null));// 1个综合检测方法 baseValidate(value, object),等价于 baseValidate.validateAll(value ,object)console.log(baseValidate('123'));console.log(baseValidate(123));console.log(baseValidate(true));console.log(baseValidate(person, Person));console.log(baseValidate(nums));console.log(baseValidate('age', person));console.log(baseValidate('name', person));console.log(baseValidate(alert));console.log(baseValidate(document.getElementById));// 以下皆为 isEmpty() 方法为 false 的情况console.log(baseValidate()); // 不传参数,参数默认为 undefinedconsole.log(baseValidate(null));console.log(baseValidate(''));console.log(baseValidate(0));console.log(baseValidate(false));console.log(baseValidate({}));console.log(baseValidate([]));console.log(baseValidate(NaN));</script>
</head>
<body></body>
</html>
测试结果如下:
不知道大家有没有发现,其中一个结果好像不太正确,console.log(baseValidate('name', person))
为什么会输出 isBomProperty: true
,这是因为window
对象中也有 name
属性,所以 name
也被认为是 BOM 的属性。
欢迎关注微信公众号「劼哥舍」,老斯基带你飙车。
JavaScript检测之basevalidate.js相关推荐
- 小汤学编程之JavaScript学习day01——认识JS、JS基础语法
一.认识JS 1.JavaScript的组成 2.浏览器执行js简介 3.JavaScript是什么? 4.扩展内容 二.JS基础语法 1.代码书写位置 2.变量 ...
- JavaScript检测视频的编码格式是否为h264
JavaScript检测视频的编码格式是否为h264 更多前端信息可以关注博客:http://www.colbrus.com 之前在网 ...
- html动态加载js方法,如何通过JavaScript动态加载js
在Web开发时,有可能会遇到这么一种情况:我们需要通过一个js文件中引用另一个js文件中的函数,可是另一个函数有没有办法在页面中通过该 方法比较简单,具体实例详见代码: 文件1:demo.js fun ...
- 如何通过JavaScript动态加载js
在Web开发时,有可能会遇到这么一种情况:我们需要通过一个js文件中引用另一个js文件中的函数,可是另一个函数有没有办法在页面中通过该<script>标签加载.于是,我们有了通过js动态加 ...
- JavaScript动态加载js文件
/********************************************************************** JavaScript动态加载js文件* 说明:* 之前没 ...
- 问题解答004:用javascript检测输入的只能是汉字,字母或者数字,并且长度为4...
问:如何用javascript检测输入的只能是汉字,字母或者数字,并且长度为4(一个汉字为2个长度,字母或数字为1个长度)? 答:直接写代码吧: <script type="text/ ...
- javascript检测浏览器类型和版本号(兼容各浏览器)
代码 1 from: http://www.webreference.com/tools/browser/javascript.html 2 http://browserspy.dk/browse ...
- html js轮播图无白链接,JavaScript:100%原生js实现左右切换的轮播图(无延迟加载)...
简介这篇文章主要介绍了JavaScript:100%原生js实现左右切换的轮播图(无延迟加载)以及相关的经验技巧,文章约11114字,浏览量505,点赞数3,值得参考! *{ margin:0; pa ...
- 自学JavaScript第四天- JS 进阶:AJAX Promise Canvas
自学JavaScript第四天- JS 进阶:AJAX Promise Canvas AJAX 使用 XMLHttpRequest 使用 fetch() 方法 处理 AJAX 数据 安全限制 跨域方案 ...
最新文章
- CentOS7编译安装LNMP
- HDFS 文件格式——SequenceFile RCFile
- 6、WHERE:条件查询数据
- wxHtml 示例:wxHtmlEasyPrinting 测试
- 【Envi风暴】Envi 5.4遥感影像镶嵌原来如此简单!
- 计算机比特块的输出概念,第1讲-比特的概念及计算机的组成原理.ppt
- mso-number-format
- 客户端调用Web服务
- memset详解 设置无穷大INF
- [ERROR]-Error: failure: repodata/filelists.xml.gz from addons: [Errno 256] No more mirrors to try.
- 苦劝学弟学妹们,explain一定要学明白,以后有大用途
- DNF单机版搭建(局域网、外网)
- mtk 6577 root
- 【Linux系列文章】克隆虚拟机与常用问题
- 浅谈汽车轮胎匹配视觉防错检测应用
- 数学建模学习(28):又一夜没睡,爆肝整理所有类型matlab求解微分方程+案例实战,学不会来砍我
- 解决mysql8.0登录验证失败的问题
- 6271. 2019.8.4【NOIP提高组A】锻造 (forging)
- leetcode每日一道(3)最多能有多少个点位于同一直线上
- 那些深藏在记忆深处的片段 动漫篇 国外动漫部分(排名不分先后)