This component helps you create any formatted inputs such as phone number, credit card or birth date. This component assume, that you won't use react on project. If you use react, see react-maskinput or react-numberinput — react masked input components.
Watch demo: http://xnimorz.github.io/vanilla-masked-input/
- react-maskinput — react masked input,
- react-numberinput — react numeric input,
- input-core — the core module on top of which you can build any custom components,
Tested:
- IOS Safari 11
- Google Chrome
- Safari
- Mozilla Firefox
Not Tested:
- IE, EDGE, Mobile IE
- Android Browser
- Mobile Chrome
npm install --save mask-input
or
yarn add mask-input
Mask input receive in constructor props:
import MaskInput from 'mask-input';
const maskInput = new MaskInput(document.querySelector('.js-input-selector'), {
mask: '0000-0000-0000-0000',
alwaysShowMask: true,
maskChar: '_',
});
To change props you can use setProps method:
this.maskInput.setProps({ mask: '0000-0000' });
VanilaJs maskInput support all props, that support react-maskinput: https://github.com/xnimorz/masked-input/tree/master/react-maskinput
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -m 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request
1.0.2 Fix filename mismatch ( thanks to @makenosound )
1.0.1 Move vanilla mask input to separate repository, use prettier to unify formatting
1.0.0 several changes:
-
From this moment all of tools will have similar version
-
Added examples using components with another libs, such as
styled-components
-
Improved demo page
-
Improved readme
0.1.4 use input-core@0.1.2
0.1.3 Add e.which to input event callback to support iOS@9.4
0.1.2 Add android support, remove transform-react-jsx from mask-input build
0.1.1 Fix bug with removing static symbol
0.1.0 First publish
MIT