我知道如何检查字段的值是否为数字,并且我知道如何在keyup上触发事件。我不知道该怎么做检查用户的每个单独的条目(keyup)是否是一个数字。我对它的代表性不感兴趣。只要输入的值是0-9。
如果你想填补空白,我做了一个基本的小提琴。
答案 0 :(得分: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');
}
});
如果您不想使用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');
}
});
答案 1 :(得分: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');
}
});
答案 2 :(得分: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。
答案 3 :(得分: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');
}
});
答案 4 :(得分: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);
});