ngx-mask接受负数

时间:2018-08-27 13:31:30

标签: angular

我们正在使用ngx-mask中的MaskDirective和MaskService,以使用户接受以下格式的输入货币:000000.00。

以下是我的指令。我正在使用输入type =“ decimal”。 现在,我有一种情况,在这种情况下,该指令应接受负数(如果有)。

我该如何实现?使用“ specialCharacters”尝试过,但无法通过。

我们非常感谢您的帮助。预先感谢。

`@Directive({
  selector: 'input[type=decimal]',
  providers: [
    {
      provide: NG_VALUE_ACCESSOR,
      useExisting: forwardRef(() => DecimalDirective),
      multi: true,
    },
    MaskService,
  ],
})
export class DecimalDirective extends MaskDirective implements OnInit {
  @HostBinding('type') public type = 'text';

  ngOnInit() {
    this.maskExpression = '099999.00';
    this.dropSpecialCharacters = false;
  }
}`

用法:

`<input type="decimal" name="sampleAmount" formControlName="sampleAmount" class="form-control" placeholder="0.00">`

1 个答案:

答案 0 :(得分:0)

<input mask="V0*.00" 
      [patterns]="customPatterns" 
      [dropSpecialCharacters]="false">

customPatterns = {
    'V': {pattern: new RegExp('-?')},
    '0': {pattern: new RegExp('[0-9]')}
  }

Reference