0.9.0 • Published 4 years ago
ngx-ion-simple-mask v0.9.0
ngx-ion-simple-Mask
Input mask for Angular/Ionic (Tested with Ionic 4)
Installing
$ npm install --save ngx-ion-simple-maskUsage
Import ngx-ion-simple-mask module in Angular app.
import { SimpleMaskModule } from 'ngx-ion-simple-mask'
@NgModule({
imports: [
SimpleMaskModule
]
})Or import the directive/pipe separately
import { SimpleMaskDirective, SimpleMaskPipe } from 'ngx-ion-simple-mask'
@NgModule({
declarations: [
SimpleMaskDirective,
SimpleMaskPipe
]
})Ionic
ionic usage example:
<ion-input simpleMask="999.999.999-99" [clearIfNotMatch]="true"></ion-input>Angular
Angular usage example:
<input simpleMask="999.999.999-99" [clearIfNotMatch]="true">Form Control/NgModel
The libray works with Form Control and ngModel:
<input simpleMask="999.999.999-99" [formControl]="formControl"><input simpleMask="999.999.999-99" [(ngModel)]="value">Pipe
example
<p>{{ '123321123-12' | simpleMask:'999.999.999-99' }}<p>output:
<p>123.321.123-12</p>example with add patterns
<p>{{ 'asd-123' | simpleMask:'aaa-II':{'I': '[0-9]' } }}<p>output:
<p>asd-12</p>example with new patterns(ignoring old patterns)
<p>{{ '123-bddd' | simpleMask:'III-aaa':{'I': '[0-9]' }:true }}<p>output:
<p>123-aaa</p>Patterns
Default patterns:
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~ |
Set new patterns
The set strings will be used as regex
<input
simpleMask="IIIxxx"
[newPatterns]="{ 'I': '[a-z]', 'x': '[0-9]' }">example of input: abc123
Add patterns
The set strings will be used as regex
<input simpleMask="~III999" [addPatterns]="{ 'I': '[a-z]' }">example of input: +abc123
angular-library-starter
The project was built with angular-library-starter.
License
MIT