【发布时间】:2017-12-05 19:50:45
【问题描述】:
在我的网页上有一个输入框,应该只允许用户输入正整数/浮点数(即 1234、123.4、12.34、1.234 都应该被允许)。
为了确保值有效,我有一个函数可以在将值发送到服务器之前对其进行验证:
function isPositiveFloat(s){
return String(Number(s)) === s && Math.floor(Number(s)) > 0;
}
该函数在一种情况下运行良好:isPositiveFloat(1.0) 将返回 false,因为事实证明 Number(1.0) 会将其转换为 1,因此验证失败。
关于我应该如何解决这个问题的任何建议?使用正则表达式是唯一的方法吗?
提前感谢您的帮助!
【问题讨论】:
-
!isNaN(Number(s))怎么样?或者事实上,只是!isNaN(s)? -
谢谢!看来我在这里想太多问题了..
标签: javascript string validation numbers decimal