Простое решение JS с парой вспомогательных функций:
const splitMyDateString = str => {
const [day, mon, yr] = str.split('-').map(Number);
return [yr, mon, day];
};
const makeDate = ([yr, mon, day]) => {
return new Date(yr, mon - 1, day);
};
let minDate = makeDate(splitMyDateString("27-05-2019"));
let maxDate = makeDate(splitMyDateString("27-05-2019"));
let date = makeDate(splitMyDateString("13-02-2018"));
let valid = (date >= minDate) && (date <= maxDate);
Обратите внимание, что конструктор Date не гарантирует прием строк, принимаемых в формате ISO 8601.Итак, здесь мы передаем целых вместо .Обратите внимание, что мы должны вычесть 1 из месяца, потому что месяцы JS 0-11, а не 1-12.