javascript如何优雅的判断用户输入的字符串是不是大于0的整数?

rand
  • 2k

如题,用户输入一个字符或者字符串,如何优雅的判断是否为大于0的整数

补充:
用户可以输入任何字符或者字符串
我们最后要的结果是 1、2、3···这样的结果 不允许2.0之类的字符串

业务需求:
我们某个业务需要用户输入页码,然后跳转

回复
阅读 5.1k
4 个回答
✓ 已被采纳
/^\+?\d+$/.test(input)

如果也允许用户输入诸如 2.0 的话,就

/^\+?\d+(\.0+)?$/.test(input)

不过这样貌似没限制大于 0。需要再手动判一下 > 0

parseInt(str, 10) === Number(str) && Number(str) > 0

正则应该是最好的方法,同意楼上

/^\+?\d+$/.test(input-1)
这样就不用担心0了,妥妥

宣传栏