Use parseFloat() to try to convert n to a number.
Use !Number.isNaN() to check if num is a number.
Use Number.isFinite() to check if num is finite.
Use Number() and the loose equality operator (==) to check if the coercion holds.
const validateNumber = n => {
const num = parseFloat(n);
return !Number.isNaN(num) && Number.isFinite(num) && Number(n) == n;
}
// Examples
validateNumber('10'); // true
validateNumber('a'); // false
