Javascript 检查是否为空和数字的适当方法
我看到到处都是你应该使用的地方!isNaN函数,用于检查值是否为数字。这个方法对我来说似乎很奇怪,因为我一直使用下面的方法,它似乎可以轻松快速地检查null和数字。这个方法有什么问题吗Javascript 检查是否为空和数字的适当方法,javascript,Javascript,我看到到处都是你应该使用的地方!isNaN函数,用于检查值是否为数字。这个方法对我来说似乎很奇怪,因为我一直使用下面的方法,它似乎可以轻松快速地检查null和数字。这个方法有什么问题吗 var num = getCookie('testnum'); if (+num) { console.log('num is not null and is a number'); } 谢谢假设您想检查字符串是否包含文本js编号(而不包含其他内容),那么是的,有一个问题: var num = "0"; 它可
var num = getCookie('testnum');
if (+num) { console.log('num is not null and is a number'); }
谢谢假设您想检查字符串是否包含文本js编号(而不包含其他内容),那么是的,有一个问题:
var num = "0";
它可以通过测试来修复
if (num==+num) {
试试这个:
if (!isNaN(parseInt(num))) {
console.log('This is a number');
}
如果(!isNaN(parseInt(num))){
log('这是一个数字');
}
检查这是否是数字的最佳方法之一是使用
isFinite()
和isNaN()
方法。也不要忘记对象检查
function isNumber(value) {
return (
Object.prototype.toString.call(value) == '[object Number]' &&
isFinite(value) &&
!isNaN(value)
)
}
嗯,在这件事上你们比我聪明多了。在做了更多的研究之后,很明显,对于像我这样的普通程序员来说,确定一个值是否是一个数字是一件有点深奥的事情。出于这个原因,我决定求助于jQuery,让专业人士来处理如此复杂的问题。谢谢你抽出时间。这是我的解决方案,我希望是有效的,谢谢
function isNum(val) {
return $.isNumeric(val);
}
function isNumNotZero(val) {
return ($.isNumeric(val) && +val != 0);
}
你说的“零”是指“零”?好吧,我明白你的意思。值为0将是错误的!那么正确的方法是:if(num&&!isNaN(num))?@scuzzlebuzzle评论中你的问题的答案是:否。零是一个数字。用这种方式,
isNumber(null)
给你假。你是对的,忘了这个。首先,我们要检查这是数字,然后再检查其他。用alert(typeof value)
而不是Object.protoyp..
?@reporter这不是检查对象类型的正确方法。尝试发出警报(typeof[])
,您将得到对象
。这不正确。包括支票号码的jQuery。。。这真是个好主意。