JQuery源码-------JQuery中数值型变量的判断isNumeric
2015-12-01 15:10
615 查看
判断一个数值型变量的方法,在jquery中非常简单,只有一行代码。
1、首先过滤掉数组类型的对象,因为数组Array类型肯定不是Number类型,使用了Array.isArray()方法来判断,过滤掉数组。
这里不能把object类型的过滤掉,因为通过newNumber()实例化的数值型变量,也是数字,不能过滤。起主要作用的还是下面的一句“obj-parseFloat(obj)”
2、看一下,parseFloat对各种类型变量的转换结果,
这些类型的变量执行obj-parseFlaot(obj)会返回NaN,也即不是数值型的。只有数值能通过验证。
isNumeric:function(obj){ //parseFloatNaNsnumeric-castfalsepositives(null|true|false|"") //...butmisinterpretsleading-numberstrings,particularlyhexliterals("0x...") //subtractionforcesinfinitiestoNaN //adding1correctslossofprecisionfromparseFloat(#15100) return!jQuery.isArray(obj)&&(obj-parseFloat(obj)+1)>=0; }
1、首先过滤掉数组类型的对象,因为数组Array类型肯定不是Number类型,使用了Array.isArray()方法来判断,过滤掉数组。
这里不能把object类型的过滤掉,因为通过newNumber()实例化的数值型变量,也是数字,不能过滤。起主要作用的还是下面的一句“obj-parseFloat(obj)”
jQuery.isArray(obj)
2、看一下,parseFloat对各种类型变量的转换结果,
console.log(parseFloat(NaN));//NaN console.log(parseFloat(Infinity));//Infinity console.log(parseFloat(undefined));//NaN console.log(parseFloat(true));//NaN console.log(parseFloat(false));//NaN console.log(parseFloat({name:'hi'}));//NaN //另外说明数组使用parseFolat会有不一样的结果:
console.log(parseFloat([1,2]));//返回1
这些类型的变量执行obj-parseFlaot(obj)会返回NaN,也即不是数值型的。只有数值能通过验证。
相关文章推荐
- jQuery页面滚动图片等元素动态加载实现
- jquery点击复合隐藏显示内容
- Jquery查找选中的checkbox
- 基于jQuery实现网页打印功能
- jQuery-1.9.1源码分析系列(十一)DOM操作续之克隆节点
- jQuery倒计时插件
- 快速学习jQuery插件 Cookie插件使用方法
- JQuery、AJAX加载数据时候的loading加载动画实现步骤
- JQuery EasyUI 的加载等待效果....
- jquery实现数字抽奖(版本1)
- js 列表 基于jquery
- jQuery 文档操作 - detach() 方法
- jquery-qrcode生成二维码
- JQuery - 提交表单
- jQuery中的bind(), live(), on(), delegate()
- jQuery Validate扩展验证方法
- jquery mobile用代码弹出dialog
- 快速学习jQuery插件 Form表单插件使用方法
- jquery checkbox change click事件的执行顺序
- jQuery学习笔记之Ajax用法实例详解