正确的方法来检查如果不是null和一个数字
Appropriate way to check if not null and a number
我看到到处都应该使用!isNaN函数来检查值是否为数字。这种方法对我来说似乎很奇怪,因为我总是使用下面的方法来检查null和一个数字,简单而快速。这种方法有什么问题吗?
var num = getCookie('testnum');
if (+num) { console.log('num is not null and is a number'); }
谢谢
假设你想检查一个字符串是否包含一个js数字(没有其他),那么是的,有一个问题:
var num = "0";
可以通过测试
来修复。if (num==+num) {
试试这个:
<>之前isNaN(parseInt(num))) {console.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);
}
相关文章:
- 递增一个数字而不去掉前导零
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 制作一个regex来验证只有一个数字的字符串
- 如何限制一个字段只接受4个数字字符作为输入,并获得'It’这是潜水警报
- 为什么这个正则表达式不't匹配最后一个字母数字字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 如何拆分一个整数和产生的所有数字来创建一个新数字
- 如何使用至少一个数字、一个大写字母和6-20个字符验证密码
- 当与另一个实例进行比较时,我的类实例如何隐式返回数字
- 简单的Javascript方式,在输入字段的每5位数字后添加一个空格
- 有没有办法在里面看到一个数字'的64位浮点IEEE754表示
- PHP函数识别3个数字中最低的一个并更改其类
- 我如何解析二's是一个数字的补码字符串
- 为什么我需要在这里输入var,为什么它会给我一个数字作为答案?(Javascript)
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 如何获取一个以零开头的数字的位数
- 如何创建一个确定2个数字之间值的函数
- 当我添加一个新数字时,如何获得一些数字的即时平均值
- 为什么 JavaScript 如果一个数字有一个前导零,就将其视为八进制