如何在Node.js中識別字符串是否是有效數字?識別node.js中字符串的數字
這裏有我想要的一些例子:
"22" => true
"- 22" => true
"-22.23" => true
"22a" => false
"2a2" => false
"a22" => false
"22 asd" => false
我不實際需要返回「真」或「假」,但我需要一個明確的方式來區分它們。這似乎是在node.js中可用isNaN心不是...
如何在Node.js中識別字符串是否是有效數字?識別node.js中字符串的數字
這裏有我想要的一些例子:
"22" => true
"- 22" => true
"-22.23" => true
"22a" => false
"2a2" => false
"a22" => false
"22 asd" => false
我不實際需要返回「真」或「假」,但我需要一個明確的方式來區分它們。這似乎是在node.js中可用isNaN心不是...
isNaN()
是絕對可用node.js中
!isNaN(+n)
一元加號運算符是我個人的選擇;將無法獲得您的"- 22"
示例,但您可以使用!isNaN(+n.replace(/\s/g, "")
去掉空格。
我使用的方法提出in this answer:
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
'isNaN'不適用於nodejs –
您可以使用正則表達式,例如:
function is_number(n) {
return (/^-?\d[0-9.e]*$/).test(n);
}
您是對的。我不知道爲什麼它不工作之前...謝謝! –
沒問題。應該注意的是,javascript認爲'+「」'和'+ []'是0。所以這個解決方案並沒有在你扔到最好的垃圾之下。 – cjohn