Angular NGX屏蔽单输入多屏蔽

Angular NGX屏蔽单输入多屏蔽,angular,mask,ngx-mask,Angular,Mask,Ngx Mask,我想为邮政编码输入设置多个掩码,以接受5或9位数字。如果输入的zipcode是9位数字,则应自动在输入中添加连字符(-) 我尝试了选择性掩盖(AAAAA-?A?A?A?A?A?A?A?A?A?A?A?A?A?A?A?A?),正如他们在回购协议的一些已结束发行中所说的那样,但没有奏效。没有任何关于可选字符的官方文档 还有其他方法吗?@beaudetious我合并了两个Validatior。1.NGX面罩和2。HTML模式验证器 我的模板HTML: <input type="te

我想为邮政编码输入设置多个掩码,以接受5或9位数字。如果输入的zipcode是9位数字,则应自动在输入中添加连字符(-)

我尝试了选择性掩盖(AAAAA-?A?A?A?A?A?A?A?A?A?A?A?A?A?A?A?A?),正如他们在回购协议的一些已结束发行中所说的那样,但没有奏效。没有任何关于可选字符的官方文档


还有其他方法吗?

@beaudetious我合并了两个Validatior。1.NGX面罩和2。HTML模式验证器

我的模板HTML:

<input
  type="text"
  class="form-control"
  name="postal"
  #postalInput="ngModel"
  [(ngModel)]="postalCode"
  [mask]="zipCode?.optionalMask"
  [validation]="false"
  [pattern]="zipCode?.pattern"
  [required]="isRequiredInformation"
/>
<app-err-msg
  [isFormSubmitted]="addInsuranceCarrierForm?.submitted"
  [control]="postalInput"
  fieldName="{{ insuranceCarrierMessage?.postalCode }}"
></app-err-msg>
<span class="text-danger f-s-13" *ngIf="postalInput?.errors && postalInput?.errors?.pattern">
  Invalid postal code (eg. XXXXX-XXXX)
</span>

无效的邮政编码(例如XXXXX-XXXX)
模式常量:模式:
'^\\d{5}(\\d{4})?$'

掩码格式:
可选掩码:“AAAAA-AAAA”

我有常用的
apperrmsg
组件来显示控件上的错误


对于NGX掩码错误,您将得到:
postalInput?.errors?.Mask

@beaudetious我合并了两个验证程序。1.NGX面罩和2。HTML模式验证器

我的模板HTML:

<input
  type="text"
  class="form-control"
  name="postal"
  #postalInput="ngModel"
  [(ngModel)]="postalCode"
  [mask]="zipCode?.optionalMask"
  [validation]="false"
  [pattern]="zipCode?.pattern"
  [required]="isRequiredInformation"
/>
<app-err-msg
  [isFormSubmitted]="addInsuranceCarrierForm?.submitted"
  [control]="postalInput"
  fieldName="{{ insuranceCarrierMessage?.postalCode }}"
></app-err-msg>
<span class="text-danger f-s-13" *ngIf="postalInput?.errors && postalInput?.errors?.pattern">
  Invalid postal code (eg. XXXXX-XXXX)
</span>

无效的邮政编码(例如XXXXX-XXXX)
模式常量:模式:
'^\\d{5}(\\d{4})?$'

掩码格式:
可选掩码:“AAAAA-AAAA”

我有常用的
apperrmsg
组件来显示控件上的错误


对于NGX掩码错误,您将得到:
postalInput?.errors?.Mask

您是否找到了解决方案?@beaudetious我已将我的解决方案添加为答案您是否找到了解决方案?@beaudetious我已将我的解决方案添加为答案