我正在使用 Angular 4。我想允许 zipCode
输入字段只接受长度为 5 或 7 位的输入。
HTML代码:
<md-input-container class="fill-width-input-wrap">
<input mdInput placeholder="Zip Code" formControlName="zipCode" minLength="5" maxLength="7" (keypress)="allowOnlyNumbers($event)" required>
<md-error *ngIf="clientInformationForm.controls['zipCode'].hasError('required')">
Please enter
<strong>valid zipcode</strong>
</md-error>
<md-error *ngIf="clientInformationForm.controls['zipCode'].hasError('minLength')">
zip code
<strong>minimum length is 5</strong>
</md-error>
</md-input-container>
最佳答案
我猜你想要 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
关于angular - 验证邮政编码在 Angular 4 中只允许长度为 5 或 7 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51000480/