summaryrefslogtreecommitdiff
path: root/node_modules/locutus/php/var/is_numeric.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/locutus/php/var/is_numeric.js')
-rw-r--r--node_modules/locutus/php/var/is_numeric.js31
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