A simple angular/ionic input mask(Tested in Ionic 4)
npm install ngx-ion-simple-mask

Input mask for Angular/Ionic (Tested with Ionic 4)
``bash`
$ npm install --save ngx-ion-simple-mask
Import ngx-ion-simple-mask module in Angular app.
`typescript
import { SimpleMaskModule } from 'ngx-ion-simple-mask'
@NgModule({
imports: [
SimpleMaskModule
]
})
`
Or import the directive/pipe separately
`typescript
import { SimpleMaskDirective, SimpleMaskPipe } from 'ngx-ion-simple-mask'
@NgModule({
declarations: [
SimpleMaskDirective,
SimpleMaskPipe
]
})
`
ionic usage example:
`html`
Angular usage example:
`html`
The libray works with Form Control and ngModel:
`html`
`html`
#### example {{ '123321123-12' | simpleMask:'999.999.999-99' }} 123.321.123-12
`html``
output: html`
#### example with add patterns {{ 'asd-123' | simpleMask:'aaa-II':{'I': '[0-9]' } }} asd-12
`html``
output: html`
#### example with new patterns(ignoring old patterns) {{ '123-bddd' | simpleMask:'III-aaa':{'I': '[0-9]' }:true }} 123-aaa
`html``
output: html`
`typescript`
patterns = {
'9': new RegExp('[0-9]'),
'a': new RegExp('[a-z]'),
'A': new RegExp('[A-Z]'),
'x': new RegExp('[a-zA-Z]'),
'*': new RegExp('[a-zA-Z0-9]'),
'~': new RegExp('[-\+]')
};
| pattern | meaning |
|------|---------|
| 9 | digits (0-9) |
| a | lowercase letters (a-z) |
| A | uppercase letters (A-Z) |
| x | letters uppercase or lowercase (a-z, A-Z) |
| ~ | - or + |
| \* | letters or digits (a-z, A-Z, 0-9) |
| \\ | cancel next pattern effect |
#### Examples
| mask | example |
| ------- | ------- |
| 999.999.aaa | 113.123.asd |
| (AA) 999 | (AS) 123 |
| 999\\\~ | 999~ |
The set strings will be used as regex
`html`
simpleMask="IIIxxx"
[newPatterns]="{ 'I': '[a-z]', 'x': '[0-9]' }">
example of input: abc123
The set strings will be used as regex
`html``
example of input: +abc123