2011-12-13 111 views

回答

2
$('#testInput').on('keyup', function (e) { 

    if (e.keyCode >= 48 && e.keyCode <=57) { 
     alert('That is a number'); 
    } 
    else{ 
     alert('That is not a number'); 
    } 
}); 

http://jsfiddle.net/M7dFy/2/

如果你不想使用event對象,你也可以這樣做:

$('#testInput').on('keyup', function (e) { 

    var lastChar = $(this).val().charAt($(this).val().length-1); 

    if (!isNaN(parseInt(lastChar))) { 
     alert('That is a number'); 
    } 
    else{ 
     alert('That is not a number'); 
    } 
}); 

http://jsfiddle.net/M7dFy/7/

+0

不是由誰推薦?爲什麼? – JesseBuesking

0

怎麼樣 像這樣? http://jsfiddle.net/nUBZk/

$('#testInput').on('keyup', function (e) { 

    if (Number(String.fromCharCode(e.which))) { 
     console.log('That is a number'); 
    } 
    else{ 
     console.log('That is not a number'); 
    } 
}); 

如果輸入的字符是可轉換成一個數字,它將返回true,否則爲NaN。

0

您可以使用JavaScript函數isNaN()其返回true,如果不是非數字

所以給你的if語句是這樣的:

$('#testInput').on('keyup', function (e) { 

    if (! isNaN($('#testInput').val())) { 
     alert('That is a number'); 
    } 
    else{ 
     alert('That is not a number'); 
    } 
}); 
1

希望這會爲你工作:http://jsfiddle.net/Skooljester/M7dFy/5/


$('#testInput').on('keyup', function (e) { 
    var testNum = $.isNumeric($(this).val());  
    if (testNum == true) { 
     alert('That is a number'); 
    } 
    else{ 
     alert('That is not a number'); 
    } 
}); 
0

使用正則表達式檢查字符串是否包含所有數字字符的解決方案:http://jsfiddle.net/M7dFy/13/

$('#testInput').keyup(function() { 

    var message = (this.value.match(/^[0-9]+$/)) ? "I'm a number!": "I am not a number"; 

    console.log(message); 

}); 
相關問題