voca
Version:
The ultimate JavaScript string library
34 lines (29 loc) • 792 B
JavaScript
;
var is_nil = require('./internal/is_nil.js');
/**
* Checks whether `subject` is numeric.
*
* @function isNumeric
* @static
* @since 1.0.0
* @memberOf Query
* @param {string} [subject=''] The string to verify.
* @return {boolean} Returns `true` if `subject` is numeric or `false` otherwise.
* @example
* v.isNumeric('350');
* // => true
*
* v.isNumeric('-20.5');
* // => true
*
* v.isNumeric('1.5E+2');
* // => true
*
* v.isNumeric('five');
* // => false
*/
function isNumeric(subject) {
var valueNumeric = typeof subject === 'object' && !is_nil.isNil(subject) ? Number(subject) : subject;
return (typeof valueNumeric === 'number' || typeof valueNumeric === 'string') && !isNaN(valueNumeric - parseFloat(valueNumeric));
}
module.exports = isNumeric;