在更改事件中,两位数的年份被转换为当前年份 Javascript

将文本框值转换为具有两位数年份的更改事件日期被视为当前年份


如果用户输入的日期等于当前日期,我将清除我的文本框。我有一个文本框来获取日期 (06-13-1999) / (06/13/1999) 格式。在我完成输入我的 4 位数年份之前,因为我使用了一个 on Change 事件 Javascript 本机日期函数正在将 2 位数年份转换为当前年份并清除我的文本框。


所以我目前通过拆分输入的日期来使用条件 date.split('/')[2] .length = 4 这似乎很乏味,因为现在我需要两个拆分函数来允许不同的日期格式。


if (dob.split('/')[2].length == 4 || dob.split('-')[2].length == 4)

{

    ndob = new Date(dob);

    ndob = formatdate(ndob);

}

有没有其他方法可以在更改事件时处理此问题


慕后森
浏览 131回答 2
2回答

慕的地10843

您可以检查文本框 val 的长度,如果是,10则仅执行您的代码。document.querySelector('input').addEventListener('keyup', function() {&nbsp; &nbsp; const val = this.value;&nbsp; &nbsp; if(val.length===10) {&nbsp; &nbsp; &nbsp; &nbsp; console.log('valid date');&nbsp; &nbsp; }})&nbsp; &nbsp; <input type="text">

繁星coding

您可以使用正则表达式同时处理这两种情况:if&nbsp;(dob.split(/\/|-/).length&nbsp;===&nbsp;4)&nbsp;{
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript