如何检查输入值是否为数字?

时间:2014-11-05 00:24:44

标签: javascript jquery

我在这里遇到这个问题,我想检查输入的值是否是密钥上的数字。任何帮助,将不胜感激。

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

jsfiddle

4 个答案:

答案 0 :(得分: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和.trim()==“”的组合来确保空格不计为数字

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

答案 1 :(得分:0)

您可以通过拨打isNaN(num)来检查号码是否不是号码,如果您想要相反,则会!isNaN()

答案 2 :(得分: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

答案 3 :(得分:0)

使用jQuery' s $.isNumeric()

Docs @ jquery.comcool discussion @ SO