vanilla javascript input mask
- 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?
npm install imaskjs
or download and include from dist
folder
npm run build
npm run test
Supports all major browsers and IE11+ need to support older?
https://unmanner.github.io/imaskjs/
- make MaskedRegExp and MaskedFunction as independent classes
- fix set input mask when mask type changes, add some tests
- new prepare and commit options
- 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
- 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
- add mobile support
- fix some bugs with cursor
- add pipe mask type
- fix some bugs with cursor
- fix bugs with setting cursor position
- 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