This Angular 2 Directive is also compatible with Ionic 2 ion-input
.
First, install it.
npm i angular2-text-mask --save
Then, import it into your @NgModule
:
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { TextMaskModule } from 'angular2-text-mask';
@NgModule({
imports: [
FormsModule,
TextMaskModule
],
declarations: []
})
export class MyModule {}
Then, use it in your component:
@Component({
selector: 'app',
template: `
<input [textMask]="{mask: mask}" [(ngModel)]="myModel" type="text"/>
`
})
export class AppComponent {
public myModel = ''
public mask = ['(', /[1-9]/, /\d/, /\d/, ')', ' ', /\d/, /\d/, /\d/, '-', /\d/, /\d/, /\d/, /\d/]
}
As you can see in the code above, you are passing an object to the textMask
directive.
📍 For more information about the values that the textMask
object accepts, see
this page.
Text Mask does not provide an option to unmask the model before storing it. You can sanitize the model on your side. See here for details.
change
on an input field will not work if [text-mask]
is present. You can use (ngModelChange)
instead. For more
information, see this page.
To see an example of the code running, follow these steps:
- Clone the repo,
git clone git@github.com:text-mask/text-mask.git
cd text-mask
cd angular2
npm install
npm start
- Open http://localhost:3000
The code of the example is in angular2/example
.