如何在PrimeNg中获取没有掩码字符的值?

Aru*_*mar 3 mask typescript primeng angular

我正在为我们的 Angular 项目使用 primeNG UI 库。我使用 primeng mask 来格式化值。

        <p-inputMask type="text" name="IBANAccount"
                                     #IBANAccount="ngModel"
                                     mask="aa99 9999 9999 9999"
                                     (onBlur)="OnIBANAccountChange()"
                        [ngModel]="CurrentPaymentOutRequest?.IBANAccount"  (ngModelChange)="CurrentPaymentOutRequest.IBANAccount=UnMask($event)">
</p-inputMask>
Run Code Online (Sandbox Code Playgroud)

在我的 Unmask 方法中,我删除了掩码值。

UnMask(val) {
    return val.replace(/\s/g, '');
}
Run Code Online (Sandbox Code Playgroud)

我有几个问题。

为什么要屏蔽,绑定屏蔽字符(例如:/,-等)?

有其他方法可以在全球范围内处理这个问题吗?因为将来如果格式发生变化,我应该在所有地方更改它

fxm*_*mfr 5

unmask属性(false默认设置)设置为true来获取原始值。

例子:

<p-inputMask mask="aa99 9999 9999 9999" unmask="true"></p-inputMask>
Run Code Online (Sandbox Code Playgroud)

要全局设置它,您可以使用 as 选择器创建一个指令(不要忘记在模块中声明它)p-inputMask,例如:

import {Directive, Host} from '@angular/core';
import {InputMask} from 'primeng/primeng';

@Directive({
  selector: 'p-inputMask'
})
export class InputMaskDefaultDirective {
  constructor(@Host() private inputMask: InputMask) {
    this.inputMask.unmask = true;
  }
}
Run Code Online (Sandbox Code Playgroud)