Javascript 从node.js中的字符串识别数字

Javascript 从node.js中的字符串识别数字,javascript,node.js,Javascript,Node.js,如何在Node.js中识别字符串是否为有效数字 以下是我想要的一些例子: "22" => true "- 22" => true "-22.23" => true "22a" => false "2a2" => false "a22" => false "22 asd" => false 我实际上不需要返回“真”或“假”,但我需要一种明确的方式来区分它们。似乎isNaN在node.js中不可用…我使用建议的方法: 您可以使

如何在Node.js中识别字符串是否为有效数字

以下是我想要的一些例子:

"22"     => true
"- 22"   => true
"-22.23" => true
"22a"    => false
"2a2"    => false
"a22"    => false
"22 asd" => false

我实际上不需要返回“真”或“假”,但我需要一种明确的方式来区分它们。似乎isNaN在node.js中不可用…

我使用建议的方法:


您可以使用regexp,例如:

function is_number(n) {
   return (/^-?\d[0-9.e]*$/).test(n);
}
isNaN()
在node.js中绝对可用

!isNaN(+n)


一元加号运算符是我个人的选择;不会捕获您的
“-22”
示例,但您可以使用
!isNaN(+n.replace(/\s/g,“”)
删除空格。

isNaN
在nodejsy中不可用。你是对的。我不知道为什么它以前不工作……谢谢!没问题。应该注意的是,javascript认为
+”
+[]
为0。因此,这个解决方案在你扔给它的最好的垃圾下不起作用。
function is_number(n) {
   return (/^-?\d[0-9.e]*$/).test(n);
}