Masked <input/> React component
npm install react-maskedinputMaskedInputA React component for masking, built on top of inputmask-core.
!This project has never been used by its author, other than while making it.
```
npm install react-maskedinput --save
The browser bundle exposes a global MaskedInput variable and expects to find a global React variable to work with.
* react-maskedinput.js (development version)
* react-maskedinput.min.js (compressed production version)
Give MaskedInput a mask and an onChange callback:
`javascript
import React from 'react'
import MaskedInput from 'react-maskedinput'
class CreditCardDetails extends React.Component {
state = {
card: '',
expiry: '',
ccv: ''
}
_onChange = (e) => {
this.setState({[e.target.name]: e.target.value})
}
render() {
return
Create some wrapper components if you have a masking configuration which will be reused:
`javascript
function CustomInput(props) {
return mask="1111-WW-11"
placeholder="1234-WW-12"
size="11"
{...props}
formatCharacters={{
'W': {
validate(char) { return /\w/.test(char ) },
transform(char) { return char.toUpperCase() }
}
}}
/>
}
`Props
$3
The masking pattern to be applied to the
.See the inputmask-core docs for supported formatting characters.
$3
A callback which will be called any time the mask's value changes.
This will be passed a
SyntheticEvent with the input accessible via event.target as usual.Note: this component currently calls
onChange directly, it does not generate an onChange event which will bubble up like a regular component, so you must pass an onChange if you want to get a value back out.$3
Customised format character definitions for use in the pattern.
See the inputmask-core docs for details of the structure of this object.
$3
Customised placeholder character used to fill in editable parts of the pattern.
See the inputmask-core docs for details.
$3
A default value for the mask.
$3
A default
placeholder will be generated from the mask's pattern, but you can pass a placeholder prop to provide your own.$3
By default, the rendered
's size will be the length of the pattern, but you can pass a size prop to override this.$3
Any other props passed in will be passed as props to the rendered
, except for the following, which are managed by the component:*
maxLength - will always be equal to the pattern's .length
* onKeyDown, onKeyPress & onPaste - will each trigger a call to onChange` when necessary