I\'m hoping there\'s something in the same conceptual space as the old VB6 IsNumeric()
function?
Maybe there are one or two people coming across this question who need a much stricter check than usual (like I did). In that case, this might be useful:
if(str === String(Number(str))) {
// it's a "perfectly formatted" number
}
Beware! This will reject strings like .1
, 40.000
, 080
, 00.1
. It's very picky - the string must match the "most minimal perfect form" of the number for this test to pass.
It uses the String
and Number
constructor to cast the string to a number and back again and thus checks if the JavaScript engine's "perfect minimal form" (the one it got converted to with the initial Number
constructor) matches the original string.