刷LeetCode,点击难度排行,排第一的题目是Valid Number,通过率12%,看来大家对js的力量一无所知。

原题地址在这里

Validate if a given string is numeric.

Some examples:
“0” => true
" 0.1 " => true
“abc” => false
“1 a” => false
“2e10” => true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one

翻译过来就是:验证某个字符串能否转化成数字 ‘2e10’这种属于是科学记数法。
用javascript来解这题很简单。因为js内置有Number这个构造函数。

function isNumber (s) {
	var ss = (s || '').replace(/\s/g,'');
	if (ss === '') return false;
	return !isNaN(new Number(s));
};

这里指考虑了输入是字符串的情况,Number会把空格字符串转化为0,此外比较特殊的是null和[]也会被转化成0;