В случае изменения двухзначный год преобразуется в текущий год. Javascript - PullRequest
0 голосов
/ 14 июня 2019

преобразование значения текстового поля в дату в событии изменения с двухзначным годом рассматривается как текущий год

Я очищаю свое текстовое поле, если пользователь вводит дату, равную текущей дате.У меня есть текстовое поле для форматов даты (06-13-1999) / (13.06.1999).Прежде чем я завершу ввод своего 4-значного года, так как я использую событие «Изменить», встроенная функция даты в 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);
}

Есть ли другой способобработки этого при изменении события

Ответы [ 2 ]

0 голосов
/ 14 июня 2019

Вы можете проверить длину вашего текстового поля val, если оно равно 10, тогда только выполнить свой код.

document.querySelector('input').addEventListener('keyup', function() {
    const val = this.value;
    if(val.length===10) {
        console.log('valid date');
    }
})
    <input type="text">
0 голосов
/ 14 июня 2019

Вы можете использовать регулярные выражения для обработки обоих случаев одновременно:

if (dob.split(/\/|-/).length === 4) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...