UNPKG

phone-check-egypt

Version:

its a directive that gibe validation on mobile number using regex format .. # directive requirements :

162 lines (152 loc) 13.6 kB
(function (global, factory) { typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core')) : typeof define === 'function' && define.amd ? define('phone-check-egypt', ['exports', '@angular/core'], factory) : (factory((global['phone-check-egypt'] = {}),global.ng.core)); }(this, (function (exports,i0) { 'use strict'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PhoneCheckEgyptService = (function () { function PhoneCheckEgyptService() { } PhoneCheckEgyptService.decorators = [ { type: i0.Injectable, args: [{ providedIn: 'root' },] }, ]; /** @nocollapse */ PhoneCheckEgyptService.ctorParameters = function () { return []; }; /** @nocollapse */ PhoneCheckEgyptService.ngInjectableDef = i0.defineInjectable({ factory: function PhoneCheckEgyptService_Factory() { return new PhoneCheckEgyptService(); }, token: PhoneCheckEgyptService, providedIn: "root" }); return PhoneCheckEgyptService; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PhoneCheckEgyptComponent = (function () { function PhoneCheckEgyptComponent() { } /** * @return {?} */ PhoneCheckEgyptComponent.prototype.ngOnInit = /** * @return {?} */ function () { }; PhoneCheckEgyptComponent.decorators = [ { type: i0.Component, args: [{ selector: 'enl-phone-check-egypt', template: "\n <p>\n phone-check-egypt works!\n </p>\n ", styles: [] },] }, ]; /** @nocollapse */ PhoneCheckEgyptComponent.ctorParameters = function () { return []; }; return PhoneCheckEgyptComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var OnlyNumberDirective = (function () { function OnlyNumberDirective(el) { this.el = el; //this is regex for egypt Moblie number example 010/011/012/015-11111111 this.regex = /^[0]{1}[1]{1}[1|2|5|0]{1}[0-9]{8}$/g; this.specialKeys = ["Backspace", "Tab", "End", "Home"]; if (this.el.nativeElement.required) { this.el.nativeElement.insertAdjacentHTML("afterend", '\n<div class="invalid-feedback">* Please Enter valid phone number.</div>'); } } /** * @param {?} event * @return {?} */ OnlyNumberDirective.prototype.onKeyDown = /** * @param {?} event * @return {?} */ function (event) { if (this.specialKeys.indexOf(event.key) !== -1) { return; } /** @type {?} */ var current = this.el.nativeElement.value; /** @type {?} */ var next = current.concat(event.key); if (next != "" || next != undefined || next != null) { if (next && next.length < this.el.nativeElement.max) { this.el.nativeElement.classList.remove("is-invalid"); } else if (next && next.length == this.el.nativeElement.max) { if (this.regex.test(next) == true) { this.el.nativeElement.classList.remove("is-invalid"); } else { this.el.nativeElement.classList.add("is-invalid"); this.formData.form.controls[this.el.nativeElement.name].setErrors({ incorrect: true }); } } else if (next && next.length > this.el.nativeElement.max) { event.preventDefault(); } } else { this.el.nativeElement.classList.add("is-invalid"); this.formData.form.controls[this.el.nativeElement.name].setErrors({ incorrect: true }); } }; OnlyNumberDirective.decorators = [ { type: i0.Directive, args: [{ selector: "[OnlyNumber]" },] }, ]; /** @nocollapse */ OnlyNumberDirective.ctorParameters = function () { return [ { type: i0.ElementRef } ]; }; OnlyNumberDirective.propDecorators = { formData: [{ type: i0.Input, args: ["formData",] }], onKeyDown: [{ type: i0.HostListener, args: ["keydown", ["$event"],] }] }; return OnlyNumberDirective; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ var PhoneCheckEgyptModule = (function () { function PhoneCheckEgyptModule() { } PhoneCheckEgyptModule.decorators = [ { type: i0.NgModule, args: [{ imports: [], declarations: [PhoneCheckEgyptComponent, OnlyNumberDirective], exports: [PhoneCheckEgyptComponent] },] }, ]; return PhoneCheckEgyptModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ exports.PhoneCheckEgyptService = PhoneCheckEgyptService; exports.PhoneCheckEgyptComponent = PhoneCheckEgyptComponent; exports.PhoneCheckEgyptModule = PhoneCheckEgyptModule; exports.OnlyNumberDirective = OnlyNumberDirective; Object.defineProperty(exports, '__esModule', { value: true }); }))); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvbmUtY2hlY2stZWd5cHQudW1kLmpzLm1hcCIsInNvdXJjZXMiOlsibmc6Ly9waG9uZS1jaGVjay1lZ3lwdC9saWIvcGhvbmUtY2hlY2stZWd5cHQuc2VydmljZS50cyIsIm5nOi8vcGhvbmUtY2hlY2stZWd5cHQvbGliL3Bob25lLWNoZWNrLWVneXB0LmNvbXBvbmVudC50cyIsIm5nOi8vcGhvbmUtY2hlY2stZWd5cHQvbGliL29ubHktbnVtYmVyLmRpcmVjdGl2ZS50cyIsIm5nOi8vcGhvbmUtY2hlY2stZWd5cHQvbGliL3Bob25lLWNoZWNrLWVneXB0Lm1vZHVsZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFBob25lQ2hlY2tFZ3lwdFNlcnZpY2Uge1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG59XG4iLCJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdlbmwtcGhvbmUtY2hlY2stZWd5cHQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxwPlxuICAgICAgcGhvbmUtY2hlY2stZWd5cHQgd29ya3MhXG4gICAgPC9wPlxuICBgLFxuICBzdHlsZXM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIFBob25lQ2hlY2tFZ3lwdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG59XG4iLCJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6IFwiW09ubHlOdW1iZXJdXCJcclxufSlcclxuZXhwb3J0IGNsYXNzIE9ubHlOdW1iZXJEaXJlY3RpdmUge1xyXG4gIEBJbnB1dChcImZvcm1EYXRhXCIpXHJcbiAgZm9ybURhdGE6IE5nRm9ybTtcclxuICAvL3RoaXMgaXMgcmVnZXggZm9yICBlZ3lwdCBNb2JsaWUgbnVtYmVyIGV4YW1wbGUgMDEwLzAxMS8wMTIvMDE1LTExMTExMTExXHJcbiAgcmVnZXggPSAvXlswXXsxfVsxXXsxfVsxfDJ8NXwwXXsxfVswLTldezh9JC9nO1xyXG5cclxuICBwcml2YXRlIHNwZWNpYWxLZXlzOiBBcnJheTxzdHJpbmc+ID0gW1wiQmFja3NwYWNlXCIsIFwiVGFiXCIsIFwiRW5kXCIsIFwiSG9tZVwiXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG4gICAgaWYgKHRoaXMuZWwubmF0aXZlRWxlbWVudC5yZXF1aXJlZCkge1xyXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QWRqYWNlbnRIVE1MKFxyXG4gICAgICAgIFwiYWZ0ZXJlbmRcIixcclxuICAgICAgICAnXFxuPGRpdiBjbGFzcz1cImludmFsaWQtZmVlZGJhY2tcIj4qIFBsZWFzZSBFbnRlciB2YWxpZCBwaG9uZSBudW1iZXIuPC9kaXY+J1xyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuc3BlY2lhbEtleXMuaW5kZXhPZihldmVudC5rZXkpICE9PSAtMSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgY3VycmVudDogc3RyaW5nID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlO1xyXG4gICAgbGV0IG5leHQ6IHN0cmluZyA9IGN1cnJlbnQuY29uY2F0KGV2ZW50LmtleSk7XHJcblxyXG4gICAgaWYgKG5leHQgIT0gXCJcIiB8fCBuZXh0ICE9IHVuZGVmaW5lZCB8fCBuZXh0ICE9IG51bGwpIHtcclxuICAgICAgaWYgKG5leHQgJiYgbmV4dC5sZW5ndGggPCB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubWF4KSB7XHJcbiAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy1pbnZhbGlkXCIpO1xyXG4gICAgICB9IGVsc2UgaWYgKG5leHQgJiYgbmV4dC5sZW5ndGggPT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm1heCkge1xyXG4gICAgICAgIGlmICh0aGlzLnJlZ2V4LnRlc3QobmV4dCkgPT0gdHJ1ZSkge1xyXG4gICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXCJpcy1pbnZhbGlkXCIpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZChcImlzLWludmFsaWRcIik7XHJcbiAgICAgICAgICB0aGlzLmZvcm1EYXRhLmZvcm0uY29udHJvbHNbdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWVdLnNldEVycm9ycyh7XHJcbiAgICAgICAgICAgIGluY29ycmVjdDogdHJ1ZVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2UgaWYgKG5leHQgJiYgbmV4dC5sZW5ndGggPiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQubWF4KSB7XHJcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoXCJpcy1pbnZhbGlkXCIpO1xyXG4gICAgICB0aGlzLmZvcm1EYXRhLmZvcm0uY29udHJvbHNbdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5hbWVdLnNldEVycm9ycyh7XHJcbiAgICAgICAgaW5jb3JyZWN0OiB0cnVlXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBQaG9uZUNoZWNrRWd5cHRDb21wb25lbnQgfSBmcm9tIFwiLi9waG9uZS1jaGVjay1lZ3lwdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IE9ubHlOdW1iZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9vbmx5LW51bWJlci5kaXJlY3RpdmVcIjtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW10sXG4gIGRlY2xhcmF0aW9uczogW1Bob25lQ2hlY2tFZ3lwdENvbXBvbmVudCAsT25seU51bWJlckRpcmVjdGl2ZV0sXG4gIGV4cG9ydHM6IFtQaG9uZUNoZWNrRWd5cHRDb21wb25lbnRdXG59KVxuZXhwb3J0IGNsYXNzIFBob25lQ2hlY2tFZ3lwdE1vZHVsZSB7fVxuIl0sIm5hbWVzIjpbIkluamVjdGFibGUiLCJDb21wb25lbnQiLCJEaXJlY3RpdmUiLCJFbGVtZW50UmVmIiwiSW5wdXQiLCJIb3N0TGlzdGVuZXIiLCJOZ01vZHVsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUFBO1FBT0U7U0FBaUI7O29CQUxsQkEsYUFBVSxTQUFDO3dCQUNWLFVBQVUsRUFBRSxNQUFNO3FCQUNuQjs7Ozs7cUNBSkQ7Ozs7Ozs7QUNBQTtRQWFFO1NBQWlCOzs7O1FBRWpCLDJDQUFROzs7WUFBUjthQUNDOztvQkFkRkMsWUFBUyxTQUFDO3dCQUNULFFBQVEsRUFBRSx1QkFBdUI7d0JBQ2pDLFFBQVEsRUFBRSx5REFJVDt3QkFDRCxNQUFNLEVBQUUsRUFBRTtxQkFDWDs7Ozt1Q0FWRDs7Ozs7OztBQ0FBO1FBYUUsNkJBQW9CLEVBQWM7WUFBZCxPQUFFLEdBQUYsRUFBRSxDQUFZOzt5QkFKMUIscUNBQXFDOytCQUVSLENBQUMsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLEVB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