react-input-mask-plus
Version:
Masked input component for React
64 lines (46 loc) • 2.23 kB
Markdown
//img.shields.io/travis/sanniassin/react-input-mask/master.svg?style=flat)](https://travis-ci.org/sanniassin/react-input-mask) [](https://www.npmjs.com/package/react-input-mask) [](https://www.npmjs.com/package/react-input-mask)
Yet another React component for input masking. Made with attention to UX. Compatible with IE8+.
```npm install react-input-mask --save```
Also you can use it without a module bundler
```html
<!-- Load React first -->
<script src="https://unpkg.com/react/dist/react.min.js"></script>
<script src="https://unpkg.com/react-dom/dist/react-dom.min.js"></script>
<!-- Will be exported to window.ReactInputMask -->
<script src="https://unpkg.com/react-input-mask/dist/react-input-mask.min.js"></script>
```
Mask string. Default format characters are:<br/>
`9`: `0-9`<br/>
`a`: `A-Z, a-z`<br/>
`*`: `A-Z, a-z, 0-9`
Any character can be escaped with a backslash. It will appear as a double backslash in JS strings. For example, a German phone mask with unremoveable prefix +49 will look like <code>mask="+4\\9 99 999 99"</code> or <code>mask={'+4\\\\9 99 999 99'}</code>
Character to cover unfilled parts of the mask. Default character is "\_". If set to null or empty string, unfilled parts will be empty as in ordinary input.
Defines format characters with characters as a keys and corresponding RegExp strings as a values. Default ones:
```js
{
'9': '[0-9]',
'a': '[A-Za-z]',
'*': '[A-Za-z0-9]'
}
```
Show mask when input is empty and has no focus.
```jsx
import React from 'react';
import InputMask from 'react-input-mask';
class PhoneInput extends React.Component {
render() {
return <InputMask {...this.props} mask="+4\9 99 999 99" maskChar=" " />;
}
}
```
Thanks to [BrowserStack](https://www.browserstack.com/) for the help with testing on real devices
[![Build Status](https: