2014-11-05 138 views
0

我在这里有这个问题,我想检查输入的值是否是一个数字或不在keyup上。任何帮助,将不胜感激。如何检查输入的值是否为数字?

$('input').keyup(function() { 
var check_nm = $('input').val(); 
if(check_nm != "123"){ 
    console.log('not number'); 
}else{ 
    console.log('is number'); 
} 
}); 

jsfiddle

回答

2
$('input').keyup(function() { 
    var check_nm = $('input').val(); 
    if (isNaN(check_nm) || check_nm.trim() == "") { 
    console.log('not number'); 
    }else{ 
    console.log('is number'); 
    } 
}); 

请使用isNaN and.trim的组合()==“”以确保空格不被计为数字

您还可以使用isNaN(parseFloat(check_nm))或$ .isNumeric(a),基本运行isNaN(parseFloat())

+0

这是一个正确的答案。 isNaN应该工作。 – Chuy 2014-11-05 00:27:50

+0

@jesusbet空格不能通过isNaN测试,因此您必须执行“”条件。尝试isNaN(“”)在您的浏览器来验证 – emmaaaah 2014-11-05 00:29:12

+0

好,很容易,谢谢你的答案。 – 7537247 2014-11-05 16:46:52

0

您可以检查,如果数字是不是数字调用isNaN(num)所以如果你想相反它会!isNaN()

0

您可以使用一元运算符+将该值转换为数字。然后检查它是否是NaN

$('input').on('keyup', function() { 
    var check_nm = +this.value; 
    console.log(isNaN(check_nm) ? 'not number' : 'is number'); 
}); 

注意空格和空字符串将被转换为0,所以他们将被视为一个数字。如果你不想要,请参阅https://stackoverflow.com/a/1830844/1529630