Jquery 动态输入验证

Jquery 动态输入验证,jquery,Jquery,我想在用户在框中输入4位数字后,在表单(XXXX)中验证一年,一旦用户输入了4位数字,我想得到该值,以便将其传递给ajax调用 <h6>What year was the car manufactured</h6> <input name="car_year" type="text"> <div class="car_make_error car_year_error">Car Year Error</div> 我知道我可以使用钥匙,

我想在用户在框中输入4位数字后,在表单(XXXX)中验证一年,一旦用户输入了4位数字,我想得到该值,以便将其传递给ajax调用

<h6>What year was the car manufactured</h6>
<input name="car_year" type="text">
<div class="car_make_error car_year_error">Car Year Error</div>
我知道我可以使用钥匙,但我不确定是否会感谢任何帮助

编辑

我使用了以下代码:

  $(car_year).keyup(function() {
    var year = $(this).attr('value');
    $('.car_year').html(year);
 });

看来你已经走上了正确的道路。这是你需要的吗

$(function() {

    var LOWER_RANGE = 2000;
    var UPPER_RANGE = 2020;

    var $carYearInput = $('#car_year');

    $carYearInput.keyup(function() {
        var value = $carYearInput.val();

        // Check that we were given 4 numbers
        if(value.match(/^[0-9]{4}$/))
        {
            // Convert the value to an int
            var year = parseInt(value, 10);

            // Check that the year is in range
            if(year > LOWER_RANGE && year < UPPER_RANGE)
            {
                alert(year);
            }
        }
    });

});
$(函数(){
var下限=2000;
var上限范围=2020年;
var$carYearInput=$('car#u year');
$carYearInput.keyup(函数(){
var值=$carYearInput.val();
//检查是否给了我们4个号码
if(value.match(/^[0-9]{4}$/)
{
//将值转换为int
var年=parseInt(值,10);
//检查年份是否在范围内
如果(年>下限和年<上限)
{
警报(年);
}
}
});
});
类似这样的内容:

$('#car_year').keyup(function() {
    var year = parseInt($(this).attr('value')); // parseInt forces the value to int
    var min = 1965;
    var max = 2011;
    if (year <= max && year >= min) {
        // Will only go in here if it is an four digit integer between min and max
        $('#result').html('Yeah, looks ok!');
    } else {
        $('#result').html('Not a proper year...');
    }
});
$('car#u year').keyup(函数(){
var year=parseInt($(this).attr('value');//parseInt强制将值设置为int
var min=1965;
var max=2011年;
如果(年=分钟){
//只有当它是最小值和最大值之间的四位整数时,才会进入这里
$('result').html('是的,看起来不错!');
}否则{
$(“#result').html('不是适当的年份…');
}
});


太糟糕了,除非你想让人们在过去进入2000年,或者在未来进入7年。@Kolink是的,我的错,我在你发表评论的同时加入了这一点。@Mattis你是对的,正则表达式可能太过了。老实说,我以为你的答案会被选中,因为它更直截了当。然而,我想留下我的答案作为一个严格的例子。我认为这两个答案是一个很好的补充。@attack我也喜欢你的,你可能比我是一个更好的程序员:)@Mattis哇,我不会这么说!我认为我们是一个很好的团队:)
$('#car_year').keyup(function() {
    var year = parseInt($(this).attr('value')); // parseInt forces the value to int
    var min = 1965;
    var max = 2011;
    if (year <= max && year >= min) {
        // Will only go in here if it is an four digit integer between min and max
        $('#result').html('Yeah, looks ok!');
    } else {
        $('#result').html('Not a proper year...');
    }
});