// native returns true if the variable does NOT contain a valid number
isNaN(num)
// can be wrapped for making simple and readable
function isNumeric(num){
return !isNaN(num)
}
isNumeric(123) // true
isNumeric('123') // true
isNumeric('1e10000') // true (This translates to Infinity, which is a number)
isNumeric('foo') // false
isNumeric('10px') // false
function isInt(str) {
return !isNaN(str) && Number.isInteger(parseFloat(str));
}
const int = 10;
const float = 10.5;
console.log(Number.isInteger(int)); // true
console.log(Number.isInteger(float)); // false
// Explanation
// The Number.isInteger() method returns true
// if a value is an integer of the datatype Number.
// Otherwise it returns false
// Source: https://www.w3schools.com/jsref/jsref_isinteger.asp
isNaN(num) // returns true if the variable does NOT contain a valid number
isNaN(123) // false
isNaN('123') // false
isNaN('1e10000') // false (This translates to Infinity, which is a number)
isNaN('foo') // true
isNaN('10px') // true
function isNumeric(str) {
// Check if input is string
if (typeof str != "string")
return false
// Use type coercion to parse the _entirety_ of the string
// (`parseFloat` alone does not do this).
// Also ensure that the strings whitespaces fail
return !isNaN(str) &&
!isNaN(parseFloat(str))
}
isNaN(num) // returns true if the variable does NOT contain a valid number
function isNumeric(str) {
if (typeof str != "string") return false // we only process strings!
return !isNaN(str) && // use type coercion to parse the _entirety_ of the string (`parseFloat` alone does not do this)...
!isNaN(parseFloat(str)) // ...and ensure strings of whitespace fail
}