Вкратце задачу можно описать как восстановление даты из отформатированной с помощью
$filter('date')(date[, format])
строки в Angular.
Т.е., предположим, что есть дата, полученная примерно таким образом:
$scope.userStartDate = $filter('date')(date, format)
$scope.userStartDate и format - известны. Нужно по ним восстановить объект date типа Date().
Задача №2: нужно получить из заданного формата регулярное выражение для валидации поля ввода даты с помощью ng-pattern.
Мой ход мыслей такой: нужно сначала распарсить регулярным выражением строку формата, чтобы вычленить оттуда контрольные строки типа MM или yyyy, по этой строке составить регулярное выражение, которое бы служило одновременно валидатором для поля ввода и парсером введённого значения для подстановки в дальнейшем в Date.setFullYear().
Буду копать регулярки сам, но если кто может быстро предложить готовое решение (без использования внешних библиотек), буду благодарен.