Validação de data e moeda em angular (4)

Eu sou novo no Angular. Estou usando 4 formas reativas angulares e descobri como realizar validações personalizadas. A seguir está minha implementação para numeric

function numberValidator(c: AbstractControl): { [key: string]: boolean } | null {
    if (c.pristine) {
        return null;
    }
    if (c.value.match(/.*[^0-9].*/)) {
        return { 'numeric': true };
    }
    return null;
}

 phoneControl: ['', [Validators.required, Validators.minLength(10), Validators.maxLength(10), numberValidator]],

Estou tentando descobrir como executar a moeda (com ou sem duas casas decimais) e, o mais importante, o campo Data.

Perdoe-me se isso foi respondido em outro lugar, mas não consigo encontrar nenhuma amostra para angular (4)

Obrigado pelo seu tempo

questionAnswers(3)

yourAnswerToTheQuestion