Полагаю, вам нужен атрибут pattern
<input mdInput formControlName="zipCode"
minLength="5" maxLength="7"
pattern="zipPattern"
(keypress)="allowOnlyNumbers($event)"
required>
<md-error *ngIf="clientInformationForm.controls['zipCode'].hasError('pattern')">
zip code must satisfy pattern
</md-error>
...
Где zipPattern
- это что-то вроде ^\d{5}(?:\d{2})?$
:
const pattern = new RegExp(/^\d{5}(?:\d{2})?$/)
'1234'.match(pattern) // null
'12345'.match(pattern) // ["12345"
'123456'.match(pattern) // null
'1234567'.match(pattern) // ["1234567"
'12345678'.match(pattern) // null