Показать сообщение отдельно
  #1 (permalink)  
Старый 16.01.2012, 14:51
eca eca вне форума
Новичок на форуме
Отправить личное сообщение для eca Посмотреть профиль Найти все сообщения от eca
 
Регистрация: 02.12.2011
Сообщений: 4

regexp формат даты
нужно проверить соответсвие строки формату даты.
формат даты - одна или две буквы 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} не подходит)
Ответить с цитированием