js判断是不是是正整数,js判断是不是是数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js判断是不是是正整数,js判断是不是是数字相关的知识,希望对你有一定的参考价值。
//判断是否是数字可以直接用isNaN:var a="123.455";
var b=123;
!isNan(a) // True
!isNaN(b) //True
还可以通过正则表达式判断
//判断字符串是否为数字
function checkRate(input)
var re = /^[0-9]+.?[0-9]*$/;
if (!re.test(input.rate.value))
alert("请输入数字(例:0.02)");
input.rate.focus();
return false;
//判断正整数
function checkRate(input)
var re = /^[1-9]+[0-9]*]*$/;
if (!re.test(input.rate.value))
alert("请输入正整数");
input.rate.focus();
return false;
参考:http://sxlkk.iteye.com/blog/373949 参考技术A
写成两个函数
//是否正整数function isInteger(number)
return number > 0 && String(number).split('.')[1] == undefined
//是否是数字
function isNumber(number)
return typeof number === 'number'
//用法
isInteger(1) //->true
isInteger(1.2) //->false
isInteger('1') //->true
isNumber(1) //->true
isInteger(1.2) //->true
isNumber('1') //-> false 参考技术B 用正则表达式吗?
求一个验证是不是是正整数的js自定义函数
//正整数function isPInt(str)
var g = /^[1-9]*[1-9][0-9]*$/;
return g.test(str);
//整数
function isInt(str)
var g=/^-?\\d+$/;
return g.test(str);
用正则表达式。
参考技术A function isInt( n )return n == Math.abs( parseInt( n ) );
原理就是先将变量n进行取整,然后去绝对值, 得到的正整数和原来的n值判断是否相等.
如果相等, 则n是正整数, 否则不是.
如果需要严格区分字符串形式和数字形式, 就把 == 换成 ===
追问如果是0返回true还是false
追答true,
如果需要把0剔除, 就需要加一句判断, 单独把0剔除
function isInt( n )
if( n == 0 )
return false;
return n == Math.abs( parseInt( n ) );
好,我试试
以上是关于js判断是不是是正整数,js判断是不是是数字的主要内容,如果未能解决你的问题,请参考以下文章