1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
|