繁体   English   中英

如何使用angular8限制输入字段中的保留字符

[英]How to restrict reserved characters in input field using angular8

嗨,我在我的应用程序中使用 angular8,我有一个文件名输入字段,它应该包含字母数字字符,除了保留字符之外,其他特殊字符是允许的。 有什么方法可以为该代码或内联代码提供指令,并且它必须限制粘贴这些保留字符。

不应允许使用以下保留字符:

< (less than)
> (greater than)
: (colon)
" (double quote)
/ (forward slash)
\ (backslash)
| (vertical bar or pipe)
? (question mark)
* (asterisk)

HTML:

<input type="text" class="form-control"  placeholder="Custom File Name" name="fileName"  autocomplete="off" (keypress)="keyPress($event)">

TS:

  public keyPress(event: any) {
    const pattern = /[0-9\-\ ]/;
    let inputChar = String.fromCharCode(event.charCode);
    if (!pattern.test(inputChar) && event.charCode != '0') {
      event.preventDefault();
    }
  }

使用反应形式并清理更改的输入。 适用于复制粘贴和打字。

  public restricted = new FormControl();

  ngOnInit() {
    this.restricted.valueChanges.subscribe((val) => {
      const restrictedCharacters = /[-+]/g // Add more restricted characters here
      if (restrictedCharacters.test(val)) {
        this.restricted.setValue(val.replace(restrictedCharacters, ''))
      }
    });
  }

在您的模板中,将受限表单控件添加到您的输入中。

<input
  [formControl]="restricted"
  type="text"
  placeholder="Custom File Name"
  name="fileName"
/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM