TypeScript icon, indicating that this package has built-in type declarations

9.0.0 • Public • Published

Angular 2 Input Mask

Getting started

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';
  imports: [
  declarations: []
export class MyModule {}

Then, use it in your 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.

Other use-cases

Unmasking the value that is stored in the model

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 doesn't work

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:

  1. Clone the repo, git clone
  2. cd text-mask
  3. cd angular2
  4. npm install
  5. npm start
  6. Open http://localhost:3000

The code of the example is in angular2/example.

Ionic 2

Unfortunately, we are unable to support Ionic 2 ion-input at this point as it overrides the ControlValueAccessor that Text Mask requires to perform its job.

Package Sidebar


DownloadsWeekly Downloads






Unpacked Size

27.6 kB

Total Files


Last publish


  • lozjackson
  • msafi