JSFiddle - React, Tailwind, and code Playground
JavaScript
//these should pass:
//var num = 123;
//var num = "123";
//var num = -123.4;
//var num = '-123.4';
//var num = .41;
//var num = '.41';
//var num = 0x12;
//var num = '0x12';
//var num = "000123.4";
//var num = 2e64;
//var num = '2e64';
//var num = Infinity;
//var num = 1e10000;
//var num = '1e10000';
//these should fail:
//var num = 'abc';
//var num = ' ';
//var num = null;
//var num = undefined;
//var num = NaN;
//var num = "";
//var num = {};
//var num = true;
//var num = [];
function isNumeric(num){
num = "" + num; //coerce num to be a string
return !isNaN(num) && !isNaN(parseFloat(num));
}
alert(isNumeric(num));
/*
results:
return !isNaN(num)
fails for ' ', null, "", true, and []
return (+num === +num);
fails for ' ', null, "", true, and [];
*/
//source: http://stackoverflow.com/questions/175739/is-there-a-built-in-way-in-javascript-to-check-if-a-string-is-a-valid-number