如何检查输入的值是否为数字?
问题描述:
我在这里有这个问题,我想检查输入的值是否是一个数字或不在keyup上。任何帮助,将不胜感激。如何检查输入的值是否为数字?
$('input').keyup(function() {
var check_nm = $('input').val();
if(check_nm != "123"){
console.log('not number');
}else{
console.log('is number');
}
});
答
$('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())
答
您可以检查,如果数字是不是数字调用isNaN(num)
所以如果你想相反它会!isNaN()
答
您可以使用一元运算符+
将该值转换为数字。然后检查它是否是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。
这是一个正确的答案。 isNaN应该工作。 – Chuy 2014-11-05 00:27:50
@jesusbet空格不能通过isNaN测试,因此您必须执行“”条件。尝试isNaN(“”)在您的浏览器来验证 – emmaaaah 2014-11-05 00:29:12
好,很容易,谢谢你的答案。 – 7537247 2014-11-05 16:46:52