繁体   English   中英

字母数字指令不适用于特殊字符

[英]Alpha Numeric Directive is not working for Special Characters


  • 我正在使用反应形式和 Angular 材料在 Angular 13 中开发自定义指令。

  • 我希望指令在我的员工编号输入字段中只允许字母数字值。 我理想中想要的是前两个值应该是字符和 3 个数字,总共 5 个。它应该允许退格。

  • 但是,在下面的代码中,它允许退格以及写入任意数量的数字和字母。 它还包括特殊字符,例如 . , $ % ^ & * ( ) @ ! 我不想要的


字母数字.DIRECTIVE.TS 文件

import { Directive, ElementRef, HostListener, Input, Optional } from '@angular/core';

@Directive({
selector: '[appAlphaNumeric]'
})
export class AlphaNumericDirective {
constructor() { }

keyPressAlphanumeric(event) {
var inp = String.fromCharCode(event.keyCode);

if (/[a-zA-Z0-9]/.test(inp)) {
  return true;
} 

else {
  event.preventDefault();
  return false;
}
}
}

文件

<!-- Employee Number -->
<mat-form-field appearance="outline">
<mat-label>Employee Number</mat-label>

<input formControlName ="employeenumber" matInput placeholder="Placeholder" 
 appAlphaNumeric >

</mat-form-field>   

暂无
暂无

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

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