Jquery, как проверить ввод на конкретных символов и следовать определенному шаблону - PullRequest
0 голосов
/ 25 июня 2019

У меня есть поле ввода, где пользователи должны вводить свою дату рождения. Шаблон, который я хочу использовать, например 24-06-2019. Итак, теперь я хочу сделать какую-то проверку, и если пользователь ввел неправильный шаблон, должно быть какое-то предупреждение. Как мне этого добиться?

Вот что я получил до сих пор:

$('input[name="dateOfBirth"]').on("keyup", () => {
    let current_value = $('input[name="dateOfBirth"]').val();

    // some validation here?
});

Ответы [ 2 ]

1 голос
/ 25 июня 2019

Действительно простое регулярное выражение:

if (/\d{2}-\d{2}-\d{4}/.test(current_value)) {
    //Date is of correct format
}

Если вы хотите проверить саму дату, просто создайте новую дату и проверьте, является ли она недействительной:

const validDate = new Date();
const invalidDate = new Date("abc");
console.log(validDate == "Invalid Date");
console.log(invalidDate == "Invalid Date");
0 голосов
/ 25 июня 2019

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

const ex = /^[0-3]{1}[0-9]{1}-[01]{1}[0-9]{1}-[0-9]{4}$/
console.log(ex.test('24-06-2019')) // true
console.log(ex.test('24-26-2019')) // false
console.log(ex.test('44-06-2019')) // false
console.log(ex.test('01-01-2019')) // true

Обратите внимание, что это не охватывает каждый случай ребра, но охватывает, если month >= 20 или day >= 40

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...