2014-11-05 137 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