React Input Auto Format (catchy, I know) automatically formats the value of an input field while you're typing in it.
<Input format="## - ## - ##">Install it:
npm install react-input-auto-formatHave fun:
import Input from 'react-input-auto-format';
function Foo () {
return <Input format="## - ## - ##" />;
}The format prop accepts a pattern. The # character represents any number or letter, and you can put whatever else you like in there.
| Style | Pattern | Result |
|---|---|---|
| Expiry date | ## / ## | 12 / 34 |
| Sort code | ## - ## - ## | 12 - 34 - 56 |
| Number plate | #### ### | LM68 XKC |
To get the unformatted value, use the onValueChange prop.
function Foo () {
handleValueChange(value) {
console.log(value); // 123456
}
return <Input
format="## - ## - ##"
onValueChange={handleValueChange}
/>;
}All other props work the same as you would expect for a native input component. If you want the formatted value, use a standard onChange attribute and pull out event.target.value.
