从出生日期计算年龄

时间:2011-05-23 11:54:25

标签: jquery

我有两个文本框。第一个是日期,第二个是年龄。我有2个案例:

  • 我知道生日,我填写文本框,计算年龄并显示在第二个文本框中,此文本框只读
  • 我不知道生日,我进入了一个年龄,没有生日,没有更多的行动

你对第一点有什么想法吗?

4 个答案:

答案 0 :(得分:2)

克里斯,

我有一个类似的问题,并在此前使用此页面作为参考:

http://www.javascriptkit.com/javatutors/datedifference.shtml

或者这个:

http://snippets.dzone.com/posts/show/623

只需将您的调用包含在所需的jquery按钮中,然后单击等。

欢呼声

答案 1 :(得分:0)

使用dateJS

答案 2 :(得分:0)

--markup--
<input id = "eAge" type = "text"/>
<input type=  "button" id = "fAge"  value = "find"/>
<input id = "age" type = "text"/>

--jQuery --

$("#fAge").click(function() {
    var currentYear = (new Date).getFullYear();
    var year = $("#eAge").val().split(',');
    $("#age").val(currentYear - year[1]);
});

这是jsFiddle链接 - http://jsfiddle.net/GGgqx/

希望它有所帮助

答案 3 :(得分:0)

我的功能:

$('#txtFecha').focusout(function () {

        var fecha = document.getElementById('txtFecha').value;
        var edad = '';

        //supose my date is dd/mm/yyyy
        if ((fecha.substring(2,3) != "/") && (fecha.substring(5,6) != "/")) {
            edad = '';
        }
        else {
            var dia = fecha.substring(0, 2);
            var mes = fecha.substring(3, 5);
            var anio = fecha.substring(6, 10);
            var diaActual = (new Date).getDay();
            var mesActual = (new Date).getMonth();
            var anioActual = (new Date).getFullYear();

            if (mes > mesActual)
                edad = anioActual - anio - 1;

            if (mesActual == mes && dia > diaActual)
                edad = anioActual - anio - 1;

            edad = anioActual - anio;

            if (edad < 0 || edad > 100)
                edad = '';

        }
        $("#txt2Edad").val(edad);

    });