Input Mask
Bootstrap 5 Input Mask plugin
The Input Mask is a custom directive which allows to set a predefined format of forms.
Responsive Input Mask directive for the latest Bootstrap 5. Set a predefined format of forms. Phone number, special characters, clear incomplete & other examples.Note: Read the API tab to find all available options and advanced customization
Basic example
Input Mask comes with three predefined masks directives:
- a - Alpha characters (defaut: A-Z,a-z)
- 9 - Numeric characters (0-9)
- * - Alphanumeric characters (A-Z,a-z,0-9)
The Input Mask can be placed anywhere on the page. You can initialize it using
<MDBInputMask />
with inputMask
format.
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask label='Basic example' inputMask='aaa999***' />
)
}
Clear incomplete
By default, Input Mask will clear incomplete input value on blur. Turn this behavior off by
passing clearIncomplete={false}
as prop.
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask label='Clear incomplete' inputMask='aaa999***' clearIncomplete={false}/>
)
}
Custom mask
Define custom mask with customMask
for mask symbol and
customValidator
with custom mask regex pattern. Example below will only
allow abc
letters to be typed for p
mask.
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask label='Custom mask' inputMask='999ppp999' customMask='p' customValidator='[abc]'/>
)
}
You can also set more than one mask by passing multiple characters separated by comma to
customMask
, and their coresponding validators separated by comma to
customValidator
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask
label='Custom mask'
inputMask='pppbbbccc'
customMask='p,b,c'
customValidator='[abc],[1-2],[^a-c]'
/>
)
}
Special characters
Input Mask allows any non alphanumeric character to be used inside the
inputMask
. Those characters will be hardcoded into the input during
typing
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask label='Phone number with country code' inputMask='+48 999-999-999' />
<MDBInputMask label='Book number' inputMask='ISBN 0-99999-999-0' />
)
}
Mask placeholder
Set placeholder for mask while typing with maskPlaceholder
.
Default placeholder is an underscore sign _
. Change it with
charPlaceholder
. You can use single character or define placeholder for
whole mask
import React from 'react';
import { MDBInputMask } from 'mdb-react-input-mask';
export default function App() {
return (
<MDBInputMask label='Default placeholder' inputMask='(99)-999-99' maskPlaceholder />
<MDBInputMask
label='Custom placeholder'
inputMask='99/99/9999 99:99'
maskPlaceholder
charPlaceholder='dd/mm/yyyy hh:mm'
/>
)
}
Input Mask - API
Import
import { MDBInputMask } from 'mdb-react-input-mask';
Properties
MDBInputMask
Name | Type | Default | Description | Example |
---|---|---|---|---|
charPlaceholder
|
string | '_' |
Placeholder character for covered characters in mask. Visible while typing only when
maskPlaceholder is set to true |
<MDBInputMask charPlaceholder='-' maskPlaceholder />
|
clearIncomplete
|
boolean | true |
Clear incomplete input value on blur |
<MDBInputMask clearIncomplete={false} />
|
customMask
|
string | '' |
Defines character to be used as custom mask. Allows multiple characters to be passed, separated by comma |
<MDBInputMask customMask='p' />
|
customValidator
|
string | '' |
Regex pattern to match characters in mask. Allows multiple validators corespondiing to their masks to be passed, separated by comma. |
<MDBInputMask customValidator='[abc]' />
|
inputMask
|
string | '' |
Defines Input Mask pattern |
<MDBInputMask inputMask='aaa999***' />
|
inputPlaceholder
|
boolean | true |
Shows information about the mask pattern on inactive input |
<MDBInputMask inputPlaceholder={false} />
|
label
|
string | '' |
Set label for Input Mask |
<MDBInputMask label='example' />
|
maskPlaceholder
|
boolean | false |
Sets charPlaceholder on or off |
<MDBInputMask maskPlaceholder />
|
Events
Name | Type | Description |
---|---|---|
onComplete
|
(value: string) => any | Fires when InputMask receives completed mask pattern value. Returns string with completed value. |
onInputChange
|
(value: string) => any | Fires when InputMask receives new value. Return string with input typed characters. |