使用 ngx-mask 隐藏除最后 4 个以外的所有文本

问题描述 投票:0回答:0

我试图用 ngx-mask 隐藏输入字段中除最后 4 个字符之外的所有文本。因此,如果字符串是“AZ123X231S”,那么在输入文本框中它应该显示为“******231S”。

我已经添加了这样的输入字段

<input type="text" [patterns]="pattern" [hiddenInput]="true" [mask]="generateMaskPattern()" class="form-control" [id]="secureInput" [formControlName]="secureInput" [name]="secureInput" />

其中 pattern 定义为

pattern = {
    X: {
      pattern: /./,
      symbol: 'X'
    },
    0: {
      pattern: /./
    }
  };

并且 generateMaskPattern() 方法定义为

generateMaskPattern(): string {
    let selectedValue: string = this.form.get(this.model.key)?.value;
    const maskLength = Math.max(selectedValue.length - 4, 0);
    const maskPattern = 'X'.repeat(maskLength) + '0000';
    return maskPattern;
  }

我没有得到预期的结果。

angular
© www.soinside.com 2019 - 2024. All rights reserved.