Avatar ·

如何检查JavaScript中的字符串是否为有效数字?

大家好!我是JavaScript新手,正在编写一个简单的计算器应用程序。用户会在文本框中输入值,我需要确保输入的数据是数字,然后再执行数学运算。 问题是我找不到一个可靠的检查方法。我试过 `typeof` —— 但它对来自 input 的所有内容都显示 "string"。我试过 `isNaN()` —— 但它的行为很奇怪:`isNaN("123")` 返回 `false`(没问题),但 `isNaN("12.3abc")` 也返回 `false`,尽管这显然不是数字!而且 `isNaN("")` 返回 `false`,空字符串被视为数字 —— 这完全让人困惑。 我还试过 `Number(" ")` —— 它返回 0,这也令人困惑。我还听说过 `parseFloat` 和 `parseInt`,但它们会截断字符串,如果字符串以数字开头就返回数字,例如 `parseFloat("123abc")` 会返回 123 —— 这也不是我需要的。我需要严格的匹配:整个字符串必须是数字,不能有多余的字符。 以下