为了账号安全,请及时绑定邮箱和手机立即绑定

验证字符串是否为正整数

验证字符串是否为正整数

慕无忌1623718 2019-11-23 12:52:00
我想要最简单的故障安全测试来检查JavaScript中的字符串是否为正整数。isNaN(str)对于各种非整数值返回true,并且parseInt(str)为浮点字符串返回整数,例如“ 2.5”。而且我也不想使用任何jQuery插件。
查看完整描述

3 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

在node和超过90%的所有浏览器(IE和Opera Mini除外)中均可使用的现代解决方案是使用Number.isInteger,然后进行简单的肯定检查。


Number.isInteger(x) && x > 0

这已在ECMAScript 2015中完成。


function isPositiveInteger(x) {

    return Number.isInteger(x) && x > 0

}

Polyfil是:


Number.isInteger = Number.isInteger || function(value) {

  return typeof value === 'number' && 

    isFinite(value) && 

    Math.floor(value) === value;

};

如果您需要支持字符串或数字形式的输入,则可以使用此功能,在所有现有答案(2018年2月1日)以某种形式的输入均失败后,我编写了一个大型测试套件。


function isPositiveInteger(v) {

  var i;

  return v && (i = parseInt(v)) && i > 0 && (i === v || ''+i === v);

}


查看完整回答
反对 回复 2019-11-23
  • 3 回答
  • 0 关注
  • 815 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信