JavaScript检测之basevalidate.js
来源:互联网 发布:知乎中国出口构成 编辑:程序博客网 时间:2024/05/18 19:44
上篇文章「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()); // 不传参数,参数默认为 undefined console.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 的属性。
欢迎关注微信公众号「劼哥舍」,老斯基带你飙车。
0 0
- JavaScript检测之basevalidate.js
- JavaScript检测之basevalidate.js
- 【JavaScript】之浏览器检测
- Js URl检测方法(javascript)
- javascript学习之类型检测
- js之运行事件检测
- 【JS-05】javascript检测ie版本
- javascript之初识js
- JS----Device.js 检测设备平台,操作系统的javascript
- javascript之对象属性的检测
- JS学习笔记之客户端检测
- 初学Phaser.js之碰撞检测
- Javascript js 身份证号码 检测 规则 18位 15位
- JavaScript——判断js数据类型(类型检测)
- JavaScript检测
- JS(javascript)之Array对象
- JS(javascript) 之 Array对象
- javascript之js-web-api
- java 什么时候使用内部类
- 练习5-8 函数day_of_year和month_day中没有进行错误检查,请解决该问题
- [LeetCode]problem 3. Longest Substring Without Repeating Characters
- 中括号在正则表达式中的多义性
- Python学习零碎比较
- JavaScript检测之basevalidate.js
- leetcode 347. Top K Frequent Elements 解题报告
- UVa227 Puzzle
- 如何移植μC/GUI在OLED12864上显示
- java数据写入数据库错误
- 基于c#环境的单片机和PC串口通信
- Linux spi驱动 (一)
- digester使用
- Android Annotations 4.0.0 配置Rest API