I need a built in function that checks if a variable contains a valid number in Javascript , following this link I\'ve tried to use is isNaN
, however when I use on
Converting an empty string to Number
will evaluate to 0. Same goes for booleans (+false
= 0, +true
= 1), and null
. If that's unwanted, you can create your own function to determine if some (string) value can be converted to Number
. See also (the examples @) MDN.
const canConvert2Number = value =>
!value ||
value === false ||
value === true ||
value === null ||
String(value).trim().length < 1
? false
: !isNaN(+value);
console.log(canConvert2Number(null)); //false
console.log(canConvert2Number("")); //false
console.log(canConvert2Number()); //false
console.log(canConvert2Number(false)); //false
console.log(canConvert2Number(true)); //false
console.log(canConvert2Number("[]")); //false
console.log(canConvert2Number("{}")); //false
console.log(canConvert2Number("20.4")); //true
console.log(canConvert2Number("10E4")); //true
.as-console-wrapper { top: 0; max-height: 100% !important; }