diff options
Diffstat (limited to 'node_modules/locutus/php/var/is_numeric.js')
-rw-r--r-- | node_modules/locutus/php/var/is_numeric.js | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/node_modules/locutus/php/var/is_numeric.js b/node_modules/locutus/php/var/is_numeric.js new file mode 100644 index 0000000..b4076a2 --- /dev/null +++ b/node_modules/locutus/php/var/is_numeric.js @@ -0,0 +1,31 @@ +'use strict'; + +module.exports = function is_numeric(mixedVar) { + // eslint-disable-line camelcase + // discuss at: http://locutus.io/php/is_numeric/ + // original by: Kevin van Zonneveld (http://kvz.io) + // improved by: David + // improved by: taith + // bugfixed by: Tim de Koning + // bugfixed by: WebDevHobo (http://webdevhobo.blogspot.com/) + // bugfixed by: Brett Zamir (http://brett-zamir.me) + // bugfixed by: Denis Chenu (http://shnoulle.net) + // example 1: is_numeric(186.31) + // returns 1: true + // example 2: is_numeric('Kevin van Zonneveld') + // returns 2: false + // example 3: is_numeric(' +186.31e2') + // returns 3: true + // example 4: is_numeric('') + // returns 4: false + // example 5: is_numeric([]) + // returns 5: false + // example 6: is_numeric('1 ') + // returns 6: false + + var whitespace = [' ', '\n', '\r', '\t', '\f', '\x0b', '\xa0', '\u2000', '\u2001', '\u2002', '\u2003', '\u2004', '\u2005', '\u2006', '\u2007', '\u2008', '\u2009', '\u200A', '\u200B', '\u2028', '\u2029', '\u3000'].join(''); + + // @todo: Break this up using many single conditions with early returns + return (typeof mixedVar === 'number' || typeof mixedVar === 'string' && whitespace.indexOf(mixedVar.slice(-1)) === -1) && mixedVar !== '' && !isNaN(mixedVar); +}; +//# sourceMappingURL=is_numeric.js.map
\ No newline at end of file |