регулярные выражения
нужно с помощью регулярных выражений проверить дату на соответствие следующим образцам:
мм/дд/гггг, м-дд-гггг, ммддгггг, мм.дд.гггг вот это рабочее выражение /^((0\d)|(1[12])|([1-9]))([-\/ .])?(([012]\d)|(3[01]))([-/\ .])?([012]\d{3})$/ однако оно не проверяет условие присутствия в дате только одного разделителя (например, мм.дд/гггг такая запись считается правильной) пытался сделать следующее, но не работает /^((0\d)|(1[12])|([1-9]))(([-][^.\/])|([\/][^-.])|([.][^-\/]))?(([012]\d)|(3[01]))(([-][^.\/])|([\/][^-.])|([.][^-\/]))?([012]\d{3})$/ что нужно исправить? |
/^(0?[1-9]|1[012])([.\/-]?)(0[1-9]|[12]\d|3[01])\2[012]\d{3}$/ первый разделитель [.\/-]? находится во вторых по счету круглых скобках и попадает во "2-ю группу". второй разделитель обозначен \2 - т.е. он должен быть как значение "2-й группы" |
Часовой пояс GMT +3, время: 05:34. |