[英]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.