再平常的开发中,经常涉及到输入框的限制,一般的、常用的还好,要是遇到一些复杂的,像我这种正则不行的每次都要扣脑壳 0.0
今天介绍一个省事的 API,后面大家遇到 判断是不是为整数 这种需求的时候,就简直是手拿把掐 !!!
Number.isInteger()
没错,就是这个方法,这是 ES6 的新特性,语法也很简单
Number.isInteger(value)
参数:value
返回值:一个 Boolean 值
是不是很简单?
举个例子:
兼容性
兼容性也不错(除了 IE )
哦,顺便提一下这个查兼容性的网站,有些小伙伴还真不知道
手写实现
IE不行,那肯定有小伙伴还得抠脑壳,就手写一个吧。思路也比较简单,总得是一个数字吧,然后要是一个合法的数字吧,然后再使用 Math.floor 向下取整后判断它等不等于自身就完事了
function myIsInteger(value) {
return typeof value === "number" &&
isFinite(value) &&
Math.floor(value) === value;
};
拓展:
isFinite:函数可确定数字是否是有限的合法数字,也返回一个布尔值