javascript实现日期格式转换

时间:2022-10-16 23:04:07
复制代码 代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>日期输入</title>
<script>
window.onload = function(){
    var aLaydate = document.getElementsByClassName("date");
    for(var i = 0;i < aLaydate.length;i ++)
    {
        aLaydate[i].onchange = function(){
            var dateValue = this.value;
            dateValue = dateValue.replace(/\。/g,"-");
            dateValue = dateValue.replace(/\./g,"-");
            if(dateValue.length == 8){
                var temp = dateValue.substring(0,4) + "-" + dateValue.substring(4,6) + "-" + dateValue.substring(6,8);
                dateValue = temp;
                console.log(dateValue);
            }
            if(CheckDT(dateValue)){
                this.value = dateValue;
            }
            else
            {
                alert("日期输入错误");
            }
        }
    }
}
 
function CheckDT(str)   
{   
    var r = str.match(/^(\d{1,4})(-|\/)(\d{1,2})\2(\d{1,2})$/);   
    if(r==null)
    {
        return false;   
    }
    else
    {
        var d= new Date(r[1], r[3]-1, r[4]);   
        return (d.getFullYear()==r[1]&&(d.getMonth()+1)==r[3]&&d.getDate()==r[4]);
    }  
}
</script>
</head>
<body>
<input placeholder="请输入日期" class="date">
</body>
</html>

 

把输入的YYYY.MM.DD、YYYY。MM。DD、YYYYMMDD转为YYYY-MM-DD

CheckDT这个function是在度娘里找的。

很简单实用的功能吧,小伙伴们可以直接拿去使用。