如何使用JS在用YYYY-MM-DD格式填充生日后自动填充年龄字段

How to automatic populate age field after filling up birthdate with a format of YYYY-MM-DD using JS

本文关键字:填充 字段 生日 在用 JS YYYY-MM-DD 格式 何使用      更新时间:2023-09-26

请帮忙。我尝试了这个代码,但我无法改变它的格式。我需要日期接受YYYY/MM/DD

的格式
<script type="text/javascript">
    function ageCount() {
        var date1 = new Date();
        var dob = document.getElementById("dob").value;
        var date2 = new Date(dob);
        var pattern = /^'d{1,2}'/'d{1,2}'/'d{4}$/;
        //Regex to validate date format (dd/mm/yyyy)       
        if (pattern.test(dob)) {
            var y1 = date1.getFullYear();
            //getting current year            
            var y2 = date2.getFullYear();
            //getting dob year            
            var age = y1 - y2;
            //calculating age                       
            document.getElementById("ageId").value = age;
            doucment.getElementById("ageId").focus();
            return true;
        } else {
            alert("Invalid date format. Please Input in (dd/mm/yyyy) format!");
            return false;
        }
    }
</script>

您只需要从

更改正则表达式
var pattern = /^'d{1,2}'/'d{1,2}'/'d{4}$/;

var pattern = /^'d{4}-'d{1,2}-'d{1,2}$/;

它应该这样做。

查看这里:http://jsfiddle.net/fP875/

警告

但是记住你正在使用的正则表达式并不完全正确。你需要一个更精确的正则表达式来检查日期。

您的正则表达式将接受2014-23-56或9999-99-99这样的日期。

我推荐这个:https://stackoverflow.com/a/18759740/3603806如果你需要准确的日期,而不仅仅是格式。

http://jsfiddle.net/EywSP/856/

http://jsfiddle.net/EywSP/854/

就拿着这个Javascript日期操作库[close]

我写了一个名为moment.js的javascript日期库

https://github.com/moment/moment

它创建日期包装器对象,这样它就不需要修改Date.prototype .

包括对字符串、日期对象和unix时间戳的解析。

它可以基于替换模式("dddd, MMMM Do YYYY,H:mm:ss a"),也包括时间前("2天前",6个月前")