imaskjs
vanilla javascript input mask
Features
- get and set raw and unmasked values easily
- no external dependencies
- show placeholder always and only when necessary
- unmasked value can contain fixed parts
- optional input parts (greedy)
- RegExp mask
- Functional mask
- Number mask (integer and decimal)
- Date mask (various format support)
Further plans:
- jQuery/Angular/React/Vue plugin
- on-the-fly/multimask
- more unit tests
- support RTL?
Install
npm install imaskjs
or download and include from dist
folder
Build & test
npm run build
npm run test
Compatibility
Supports all major browsers and IE11+ need to support older?
Docs, Examples, Demo
https://unmanner.github.io/imaskjs/
Many thanks to
[https://github.com/vcrazyV](@Viktor Yakovlev)
[https://github.com/MaaKut](@Alexander Kiselev)
Changes
1.1.1
- make MaskedRegExp and MaskedFunction as independent classes
- fix set input mask when mask type changes, add some tests
1.1.0
- new prepare and commit options
1.0.0
- major API changes and improvements
- new Masked model abstraction
- new InputMask view abstraction
- new Number mask
- new Date mask
- Pipe mask was removed (use function composition and/or inherite from Masked instead)
- Common: rename rawValue prop to value
- Common: use updateOptions now to update any masked properties and sync with view
- Pattern: change quote (') definition to back quote (`)
- Pattern: lazy property is now of Boolean type
- fix some bugs
0.4.0
- breaking change: add quote (') to definitions to prevent symbols shift back. Should be escaped from now.
- fix some bugs with cursor
- write some tests
- use rollup for build and test
0.3.0
- add mobile support
- fix some bugs with cursor
0.2.0
- add pipe mask type
- fix some bugs with cursor
0.1.1
- fix bugs with setting cursor position
0.1.0
- add mask types: function, regexp, BaseMask and
- pattern
- lazy and always modes
- fixed and optional input parts
- get and set raw and unmasked values
- custom symbol definitions
- accept and complete events