我正在尝试为电话号码创建模式,我希望看起来像这样:
- +375 29 555 55 55
- 80-33-555-555-55
- +375-25-555-55-55
- 80445555555等
我写了以下代码:
.ts
phoneFormControl = new FormControl('', [Validators.required, Validators.pattern('^\s*(\+375|80)\s?-?\s?(25|29|33|44)\s?-?\s?\d{3}\s?-?\s?\d{2}\s?-?\s?\d{2}$')]);
.html
<mat-form-field class="example-full-width">
<mat-label>Телефон</mat-label>
<input matInput [(ngModel)]="this.profileData.Phone" [formControl]="phoneFormControl" maxlength="30">
<mat-error *ngIf="phoneFormControl.hasError('pattern')">Номер не соответствует формату!</mat-error>
</mat-form-field>
A 还尝试将 .ts 更改为此phoneFormControl = new FormControl('', [Validators.required, Validators.pattern('^\s*80\s?-?\s?(25|29|33|44)\s?-?\s?\d{3}\s?-?\s?\d{2}\s?-?\s?\d{2}$')]);
,期望它仅适用于 80... 错误消失了,但现在无法正常工作(我使用 80295555555 80-29-555-55-55 80 33 555 55 55) ...
我也试过这个:
phoneFormControl = new FormControl('', [Validators.required, Validators.pattern('/^\s*([+]{1}375|80)\s?-?\s?(25|29|33|44)\s?-?\s?\d{3}\s?-?\s?\d{2}\s?-?\s?\d{2}$/')]);
我该怎么做才能得到预期的结果?