Как добавить маску почтового индекса США на angular ввод материала, принимая 00000-0000 или 0000 - PullRequest
0 голосов
/ 29 января 2020

Я ищу регулярное выражение или маску, которая позволяет мне проверять ввод материала angular с использованием обоих форматов (00000-0000 или 00000). Мой код позволяет мне поставить только почтовый индекс, такой как 12345-6789, но не этот 12345. Я использую маску ngx. и работает с Angular 7.

 <mat-form-field>
    <input matInput name="zipCode" placeholder="Zip Code" [(ngModel)]="site.zipcode" mask= '00000-0000'>                                               
 </mat-form-field>

Ответы [ 2 ]

0 голосов
/ 13 февраля 2020

используйте это регулярное выражение:

    zipcode = '^[0-9]{5}(?:-[0-9]{4})?$',

Файл TS


Validators.pattern(RegexEnum.zipcode)

это поможет вам подтвердить почтовый индекс США .

Я надеюсь, что это будет работать

0 голосов
/ 29 января 2020

попробуйте

ОБНОВЛЕННЫЙ ОТВЕТ

Сначала нам нужно установить пакет из https://www.npmjs.com/package/angular2-text-mask2

, используя npm i angular2-text-mask --save

И чем импортировать его в root файл модуля, например, App.module.ts

Вот так

import { TextMaskModule } from 'angular2-text-mask';

импортировать его в imports[TextMaskModule] Массив @NgModule({}) декораторы

и в файле component.ts

myModel: any;
abcd = [/\d/, /\d/, /\d/, /\d/, /\d/, "-", /\d/, /\d/, /\d/, /\d/];

в файле шаблона

<mat-form-field class="example-full-width">
    <input matInput [textMask]="{mask: abcd}" [(ngModel)]="myModel" placeholder="Type a value">
  </mat-form-field>

Надеюсь, это будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...