3.0.2 • Published 6 years ago

ngx-mask-fixed v3.0.2

Weekly downloads
4
License
MIT
Repository
github
Last release
6 years ago

Build Status npm npm

Installing

$ npm install --save ngx-mask

Quickstart

Import ngx-mask module in Angular app.

import {NgxMaskModule} from 'ngx-mask'

(...)

@NgModule({
  (...)
  imports: [
    NgxMaskModule.forRoot(options)
  ]
  (...)
})

Then, just define masks in inputs.

Usage

<input type='text' mask='{here comes your mask}' >

Also you can use mask pipe

Usage

<span>{{phone | mask: '(000) 000-0000'}}</span>

Examples

maskexample
9999-99-992017-04-15
0*.002017.22
000.000.000-99048.457.987-98
AAAA0F6g
SSSSasDF

Mask Options

You can define your custom options for all directives (as object in the mask module) or for each (as attributes for directive)

specialCharacters (string )

We have next default characters:

character
/
(
)
.
:
-
space
+
,
@
Usage
<input type='text' specialCharacters="[ '[' ,']' , '\' ]" mask="[00]\[000]" >
Then:
Input value: 789-874.98
Masked value: [78]\[987]

patterns ({ character: string: { pattern: RegExp, optional?: boolean})

We have next default patterns:

codemeaning
0digits (like 0 to 9 numbers)
9digits (like 0 to 9 numbers), but optional
Aletters (uppercase or lowercase) and digits
Sonly letters (uppercase or lowercase)
Usage:
<input type='text' patterns="customPatterns" mask="(000-000)" >

and in your component

public customPatterns = {'0': { pattern: new RegExp('\[a-zA-Z\]')}};
Then:
Input value: 789HelloWorld
Masked value: (Hel-loW)

prefix (string)

You can add prefix to you masked value

Usage
<input type='text' prefix="+7 " mask="(000) 000 00 00" >

dropSpecialCharacters (boolean)

You can choose if mask will drop special character in the model, or not, default value true

Usage
<input type='text' [dropSpecialCharacters]="false" mask="000-000.00" >
Then:
Input value: 789-874.98
Model value: 789-874.98

clearIfNotMatch (boolean)

You can choose clear the input if the input value not match the mask, default value false

Examples

Check the demo.