检查用户输入的单个数值是否为数字
问题描述:
我知道如何检查字段的值是否为数字,并知道如何在关键帧上触发事件。我不知道该怎么做,检查用户的每个单独条目(密码)是否是一个数字。我对它的代表性不感兴趣。只要输入的值是0-9。检查用户输入的单个数值是否为数字
我做了一个基本的小提琴,如果你想填补空白。 (不推荐)
答
$('#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');
}
});
答
怎么样 像这样? 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。
答
您可以使用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');
}
});
答
希望这会为你工作: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');
}
});
答
使用正则表达式检查字符串是否包含所有数字字符的解决方案: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);
});
不是由谁推荐?为什么? – JesseBuesking