我正在搜索检查var是否为数字的终极最佳方法
function isInt(n){
return !isNaN(parseInt(n * 1));
}
alert(isInt(""));//true这个网站欺骗了我http://www.inventpartners.com/content/javascript_is_int
anser https://stackoverflow.com/a/3886106/908879的一个家伙的第二个评论吓到我了,我不再用他的答案了
请帮我找个合适的plxplx
发布于 2011-12-15 15:35:56
下面的方法可以很好地解决你的问题。但是,如果它是浮点数,则返回false
function isInt(n){
return !isNaN(parseFloat(n)) && isFinite(n) && (n % 1 == 0);
};如果你想知道它是否通常是一个数字,最好的解决方案是
function isNumber(n){
return !isNaN(parseFloat(n)) && isFinite(n);
};另请参阅:http://dl.dropbox.com/u/35146/js/tests/isNumber.html
发布于 2011-12-15 15:38:34
如果你只想知道n是一个数字,你可以使用:
function isNumber(n){
return typeof n == 'number';
}
alert(isNumber(""));//false发布于 2011-12-15 15:41:34
你可能需要做更多的检查:
function isInt(n){
n = Number(n);
return String(n).length
&& !isNaN(parseInt(n,10))
&& n%1 === 0;
}https://stackoverflow.com/questions/8516488
复制相似问题