Buscar pacotes, repositórios e categorias de apps

Capa de easy_mask
Detalhes do pacotev2.0.1

easy_mask

Máscara fácil e poderosa para TextField, TextFormField e Strings. Suporta múltiplas máscaras, máscara reversa para moeda e placeholder. Controla o cursor do usuário.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
27,7 mil
Curtidas
159
Pontos Pub
150

Instalar pacote

flutter pub add easy_mask

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Easy Mask é um pacote Flutter que simplifica a formatação de entrada para campos de texto e strings com poderosas capacidades de máscara. Ele suporta múltiplas máscaras, máscara reversa para formatação de moeda e placeholders personalizáveis. O pacote gerencia inteligentemente a posição do cursor durante a entrada do usuário, garantindo uma experiência de digitação suave. Ideal para formulários que exigem entrada estruturada, como números de telefone, datas ou valores financeiros, ele melhora a usabilidade ao aplicar automaticamente o formato enquanto os usuários digitam.

Casos de uso

  • Entradas de formulário com dados estruturados
  • Formatação de moeda e número
  • Máscaras de data e número de telefone
  • Validação em tempo real de entrada
  • Troca dinâmica de máscara
  • Gerenciamento de espaço reservado

Principais recursos

  • Suporte a múltiplos máscaras
  • Máscara reversa para moeda
  • Controle automático do cursor
  • placeholders personalizáveis
  • Formatação em tempo real
  • Compatibilidade multiplataforma

Indicado para

  • Desenvolvedores de aplicativos com formulários intensos
  • Aplicativos que precisam de campos de entrada formatados
  • Aplicações financeiras ou de entrada de dados
  • Projetos que exigem padrões de entrada consistentes
  • Equipes que priorizam UX em entradas de texto

Considerações

  • Pode exigir manipulação cuidadosa da lógica complexa de máscara
  • Documentação limitada além dos exemplos básicos
  • Impacto potencial no desempenho com muitas máscaras ativas
  • Não ideal para cenários de entrada não texto
  • Requer testes em todas as plataformas-alvo

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

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.

Sample

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 ) ],
  )
...

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);
...
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 ) ],
  )
...
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 ],
  ),
...
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],
  ),
...
Possible parameters
  • mask can be a String or an List with the wanted masks pattern.
  • 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

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.