title: Allow Ctrl+C and Ctrl+V and keyboard shortcuts
body: <p>I have created a directive to forbid user from entering negative values and special characters in input box.
  With the below code user is not able to copy paste anything via keyboard. Also, i need to take care that if user paste any special character it should be replace by empty character.</p>
  <pre><code>    import { Directive, HostListener, ElementRef } from '@angular/core';
  
  @Directive({
      selector: '[esg365-positiveNumbersOnly]'
    })
    export class NumbersOnlyDirective {
  
      private readonly regex: RegExp = new RegExp(/^\d+(\.\d{0,2})?$/);
      private readonly specialKeys: String[] = ['Backspace', 'Tab', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft', 'Delete', 'Home'];
  
      constructor(private readonly el: ElementRef) {
      }
      @HostListener('keydown', ['$event'])
      onKeyDown(event: KeyboardEvent) {
        console.log('Keyboard event is::',event);
        if (this.specialKeys.indexOf(event.key) !== -1) {
          return;
        }
        const current: string = this.el.nativeElement.value;
        const next: string = current.concat(event.key);
        if (next &amp;&amp; !String(next).match(this.regex)) {
          event.preventDefault();
        }
      }
  
      
    }
  </code></pre>