нужно проверить соответсвие строки формату даты.
формат даты - одна или две буквы d(день), одна или две m(месяц), две или четыре буквы y(год). порядок не важен. день, месяц и год разделены одинаковыми разделителями.
пример, 'dd-mm-yyyy', 'd/m/yy', 'yy.mm.dd'. не должно подходить 'd-d-yy', 'yyyy-mm-m'
на данный момент есть такой код
'dd-mm-yyyy'.match(/^(d{1,2}|m{1,2}|y{4}|y{2})([^a-zA-Z0-9]+)(d{1,2}|m{1,2}|y{4}|y{2})\2(d{1,2}|m{1,2}|y{4}|y{2})$/)
самый главный вопрос, можно ли проверить, чтобы нельзя было повторить день, месяц или год (например так 'd-d-yy')
и можно ли заменить y{4}|y{2} одним выражением (y{2,4} не подходит)