0 purchases
easy mask
Easy Mask #
Easy way to apply a mask to Flutter's TextFields and on Strings
To use it, you only need to pass EasyMask on TextField's parameter inputFormatters.
The Easy Mask cares about user's cursor position, to make fluid it's usability.
Supports Multi Mask based on masks length.
Supports Placeholders.
Usage #
Simplest Sample #
Import package:easy_mask/text_input_mask.dart
Then instantiate TextInputMask passing at least a String mask parameter.
import package:easy_mask/text_input_mask.dart
...
TextField(
inputFormatters: [ TextInputMask(mask: '99? (99) 999 99-99') ],
),
TextField(
inputFormatters: [ TextInputMask(mask: '999.999.999-99', reverse:true ) ],
)
...
copied to clipboard
Formatting a String
import package:easy_mask/text_input_mask.dart
...
String text = '432516565';
MagicMask mask = MagicMask.buildMask('\\+99 (99) 99999-9999');
String formattedString = mask.getMaskedString(text);
...
copied to clipboard
Multi Mask Sample #
Import package:easy_mask/text_input_mask.dart
Then instantiate TextInputMask passing at least a String mask parameter.
import package:easy_mask/text_input_mask.dart
...
TextField(
inputFormatters: [ TextInputMask(mask: ['999.999.999-99', '99.999.999/9999-99'] ],
),
TextField(
inputFormatters: [ TextInputMask(mask: ['(99) 9999 9999', '(99) 99999 9999'], reverse:true ) ],
)
...
copied to clipboard
PlaceHolder Sample #
Import package:easy_mask/text_input_mask.dart
Then instantiate TextInputMask passing at least a String mask parameter.
import package:easy_mask/text_input_mask.dart
...
TextField(
inputFormatters: [ TextInputMask(mask: '999.999.999-99', placeholder: '_', maxPlaceHolders: 11 ],
),
...
copied to clipboard
Pretty Currency Sample #
Import package:easy_mask/text_input_mask.dart
Then instantiate TextInputMask passing at least a String mask parameter.
import package:easy_mask/text_input_mask.dart
...
TextField(
inputFormatters: [ TextInputMask(mask: '\$! !9+,999.99', placeholder: '0', maxPlaceHolders: 3, reverse: true],
),
...
copied to clipboard
Possible parameters #
mask can be a String or an List
reverse is a boolean that indicates if the user will type from right to left. Used normally on currency TextFields.
maxLength is an Integer that limits the maximum size of returned masked text.
placeholder is a String character to be used as placeholder on untyped characters. Must define maxPlaceHolders
maxPlaceHolders an integer to map how many possible places it would be placed. Typed characters consumes a position from this counter.
Mask Patterns Characters #
9 - is used to allow a number from 0-9
A - is used to allow a letter from a-z or A-Z
N - is used to allow a number or letter from 0-9, a-z or A-Z
X - is used to allow any character
Those tokens 9,A,N and X can be followed by one following modifier
? - indicates that is optional
+ - indicates that must have at least 1 or more repetitions
* - indicates that can have 0 or more repetitions
\ - is used as scape
*Any character that is interpreted as letter to be placed, can be followed by modifier **
! - Used to force print it, when it has at least 1 character typed on TextField.
Any other letters will be displayed on masking.
Examples of String masks
(card number) 999 999 999 999
(us cellphone) \+1 (999) 999 99 99
(currency) $! !9+,999.99
(version) 99?9?.99?9?.99?9?
(RG brazilian document) 99.999.999-N
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.