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判断是不是是数字的主要内容,如果未能解决你的问题,请参考以下文章

JS判断输入值是不是为正整数

js验证正整数

用js怎么判断输入一个必须是数字?包括负数和整数

求JS的判断输入数字必须为正整数的正则表达式

js正则表达式 判断输入框是不是为正整数或者正整数保留两位小数

判断一个正整数是不是是3或者5的倍数。根据判断输出“仅是3的倍数”、“仅是5的倍数”、“既是3又是5的倍数”