Regex Регулярное выражение для DateTime

есть тип datetime в котором пользователь указывает дату своего рождения, хочу написать regex, которое выдаст ошибку если пользователю меньше 18 лет. как мне это сделать? допустим пользователь ввёл дату: 06.05.2009 надо что бы появилось сообщение что минимальный возраст 18+


Ответы (1 шт):

Автор решения: teran

вам не регулярные выражения тут нужны, а проверку даты при вводе. что-то наподобие такого.

$("#d").change(function(){
   let [ y, m, d ] =  $(this).val().split('-'); 
   let n = new Date();
   let c = new Date(n.getFullYear(), m-1, d);      
   
   let age = n.getFullYear() - y - (c > n);   
   
   $("#age-error").toggle(age < 18);      
});
#age-error {
   display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<input type="date" id="d">

<span id="age-error">вам меньше 18</span>

→ Ссылка