wninputpattern
Version:
Simple directive for your input pattern.
34 lines • 3.68 kB
JavaScript
import { Directive, EventEmitter, HostListener, Input, Output, } from '@angular/core';
import * as i0 from "@angular/core";
export class EnglishDirective {
constructor() {
this.params = '';
this.validater = new EventEmitter();
this.regEx = new RegExp(/^[a-zA-Z().-\s]*$/);
}
onKeyPress(event) {
const e = event;
const ch = String.fromCharCode(e.keyCode);
const regEx = new RegExp(this.regEx);
if (!regEx.test(ch)) {
e.preventDefault();
}
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: EnglishDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.10", type: EnglishDirective, selector: "[English]", inputs: { params: ["specialChar", "params"] }, outputs: { validater: "validater" }, host: { listeners: { "keypress": "onKeyPress($event)" } }, ngImport: i0 }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.10", ngImport: i0, type: EnglishDirective, decorators: [{
type: Directive,
args: [{
selector: '[English]',
}]
}], ctorParameters: function () { return []; }, propDecorators: { params: [{
type: Input,
args: ['specialChar']
}], validater: [{
type: Output
}], onKeyPress: [{
type: HostListener,
args: ['keypress', ['$event']]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5nbGlzaC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93bmlucHV0cGF0dGVybi9zcmMvbGliL2RpcmVjdGl2ZXMvZW5nbGlzaC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7O0FBS3ZCLE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7UUFFc0IsV0FBTSxHQUFXLEVBQUUsQ0FBQztRQUNoQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN6QyxVQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUp6QixDQUFDO0lBS3NCLFVBQVUsQ0FBQyxLQUFVO1FBQ3pELE1BQU0sQ0FBQyxHQUFrQixLQUFLLENBQUM7UUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFO1lBQ25CLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUNwQjtJQUNILENBQUM7K0dBYlUsZ0JBQWdCO21HQUFoQixnQkFBZ0I7OzRGQUFoQixnQkFBZ0I7a0JBSDVCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFdBQVc7aUJBQ3RCOzBFQUl1QixNQUFNO3NCQUEzQixLQUFLO3VCQUFDLGFBQWE7Z0JBQ1YsU0FBUztzQkFBbEIsTUFBTTtnQkFFK0IsVUFBVTtzQkFBL0MsWUFBWTt1QkFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdExpc3RlbmVyLFxuICBJbnB1dCxcbiAgT3V0cHV0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW0VuZ2xpc2hdJyxcbn0pXG5leHBvcnQgY2xhc3MgRW5nbGlzaERpcmVjdGl2ZSB7XG4gIGNvbnN0cnVjdG9yKCkge31cblxuICBASW5wdXQoJ3NwZWNpYWxDaGFyJykgcGFyYW1zOiBzdHJpbmcgPSAnJztcbiAgQE91dHB1dCgpIHZhbGlkYXRlciA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgcmVnRXggPSBuZXcgUmVnRXhwKC9eW2EtekEtWigpLi1cXHNdKiQvKTtcbiAgQEhvc3RMaXN0ZW5lcigna2V5cHJlc3MnLCBbJyRldmVudCddKSBvbktleVByZXNzKGV2ZW50OiBhbnkpIHtcbiAgICBjb25zdCBlID0gPEtleWJvYXJkRXZlbnQ+ZXZlbnQ7XG4gICAgY29uc3QgY2ggPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGUua2V5Q29kZSk7XG4gICAgY29uc3QgcmVnRXggPSBuZXcgUmVnRXhwKHRoaXMucmVnRXgpO1xuICAgIGlmICghcmVnRXgudGVzdChjaCkpIHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==