패키지, 저장소 및 앱 카테고리 검색

GitHub 저장소flutterbootcamp/brasil_fields

brasil_fields

프로젝트에서 브라질의 패턴과 형식을 사용하는 가장 쉬운 방법

brasil_fields 프로젝트 이미지
스타
144
포크
43
최근 푸시(UTC)
2026. 3. 4.
프로젝트 상태
활성

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

brasil_fields

Brasil Fields

O jeito mais fácil de utilizar padrões e formatos brasileiros em seu projeto.

Testar agora

codecov

Apresentação

Este package facilita o desenvolvimento de projetos que utilizam campos com os padrões e formatos brasileiros.

Como utilizar

Incluir o formatter no parâmetro inputFormatters.

É necessário adicionar o FilteringTextInputFormatter.digitsOnly para garantir que o campo aceite apenas valores numéricos.

TextFormField(
  inputFormatters: [
    // obrigatório
    FilteringTextInputFormatter.digitsOnly,
    CepInputFormatter(),
  ],
);
EXCEÇÃO: CNPJ 2026 E Placa de veículos

CnpjAlfanumericoInputFormatter e PlacaVeiculoInputFormatter são formatters alfanuméricos, sendo assim, o FilteringTextInputFormatter.digitsOnly não deve ser informado.

Formatters
Padrão Formatter Formato
Altura AlturaInputFormatter() 2,22
Cartão CartaoBancarioInputFormatter() 0000 1111 2222 3333 4444
Centavos CentavosInputFormatter() 7,194
CEP CepInputFormatter() 99.999-999
CPF CpfInputFormatter() 999.999.99-99
CNPJ CnpjInputFormatter() 99.999.999/9999-99
CNPJ (2026) CnpjAlfanumericoInputFormatter() 99.999.999/9999-99 ou A1.B2C.3D4/E5F6-99 (*)
CPF / CNPJ CpfOuCnpjFormatter() Se adapta conforme os números são inseridos
CEST CESTInputFormatter() 12.345.67
CNS CNSInputFormatter() 111 2222 3333 4444
Data DataInputFormatter() 01/01/1900
Hora HoraInputFormatter() 23:59
IOF IOFInputFormatter() 1,234567
KM KmInputFormatter() 999.999
Cert. nascimento CertNascimentoInputFormatter() 000000 11 22 3333 4 55555 666 7777777 88
NCM NCMInputFormatter() 1234.56.78
NUP NUPInputFormatter() 1234567-89.0123.4.56.7890
Peso PesoInputFormatter() 111,1
Placa PlacaVeiculoInputFormatter() AAA-1234 (*)
Real RealInputFormatter() 20.550
Telefone TelefoneInputFormatter() (99) 9999-9999
Validade cartão ValidadeCartaoInputFormatter() 12/24 ou 12/2024
Temperatura TemperaturaInputFormatter() 27,1

(*) Não utilizar FilteringTextInputFormatter.digitsOnly. Estes formatters são alfanuméricos.

Modelos
Estados.listaEstados
Estados.listaEstadosSigla
Meses.listaMeses
Meses.mapaMeses
Regioes.listaRegioes
Semana.listaDiasUteis
Semana.mapaDiasUteis
Semana.listaDiasUteisAbvr
Semana.mapaDiasUteisAbvr
Semana.listaDiasSemana
Semana.listaDiasSemanaOrdenada
Semana.mapaDiasSemanaOrdenada
Semana.mapaDiasSemanaOrdenadaAbvr
UtilData

Métodos que facilitam obter o valor de um objeto DateTime em formato String (e no padrão brasileiro).

  • UtilData.obterDataDDMMAAAA (DD/MM/AAAA)
  • UtilData.obterDataMMAAAA (MM/AAAA)
  • UtilData.obterDataDDMM (DD/MM)
  • UtilData.obterHoraHHMMSS (hh:mm:ss)
  • UtilData.obterHoraHHMM (hh:mm)
  • UtilData.obterMes
  • UtilData.obterDia
  • UtilData.obterDateTime
  • UtilData.obterDateTimeHora
  • UtilData.obterDateTimeHoraMinuto
UtilBrasilFields

Métodos que facilitam manipular valores:

  • UtilBrasilFields.gerarCPF() (XXX.XXX.XXX-XX)
  • UtilBrasilFields.gerarCPF(false) (XXXXXXXXXXX)
  • UtilBrasilFields.gerarCNPJ() (XX.YYY.ZZZ/NNNN-SS)
  • UtilBrasilFields.gerarCNPJ(false) (XXYYYZZZNNNNSS)
  • UtilBrasilFields.obterCpf('11122233344') (111.222.333-44)
  • UtilBrasilFields.obterCnpj('11222333444455') (11.222.333/4444-55)
  • UtilBrasilFields.obterCep('11222333') (11.222-333)
  • UtilBrasilFields.obterCep('11222333', ponto: false) (11222-333)
  • UtilBrasilFields.obterNUP('06010642120226000000') (0601064-21.2022.6.00.0000)
  • UtilBrasilFields.obterTelefone('00999998877') ((00) 99999-8877)
  • UtilBrasilFields.obterTelefone('(00) 99999-8877', mascara: false) (00999998877)
  • UtilBrasilFields.obterTelefone('999998877', ddd: false) (99999-8877)
  • UtilBrasilFields.obterTelefone('99999-8877', ddd: false, mascara: false) (999998877)
  • UtilBrasilFields.obterReal (R$ 50.000,00 ou 50.000,00)
  • UtilBrasilFields.obterReal(85437107.04) (R$ 85.437.107,04)
  • UtilBrasilFields.obterReal(85437107.04, moeda: false) (85.437.107,04)
  • UtilBrasilFields.obterReal(85437107.04, moeda: false, decimal: 0) (85.437.107)
  • UtilBrasilFields.obterDDD('00999998877') (00)
  • UtilBrasilFields.obterKM(999999) (999.999)
  • UtilBrasilFields.removeCaracteres (remove caracteres especiais)
  • UtilBrasilFields.removerSimboloMoeda (remove o R$)
  • UtilBrasilFields.converterMoedaParaDouble (remove o R$ e retorna um double)
  • UtilBrasilFields.isCPFValido (retorna true se o CPF for válido, caso contrário, retorna false)
  • UtilBrasilFields.isCNPJValido (retorna true se o CNPJ for válido, caso contrário, retorna false)
  • UtilBrasilFields.isNUPValido (retorna true se o NUP for válido, caso contrário, retorna false)

Para inicializar um TextEditingController com o texto já formatado, basta escolher o método com o formato desejado e setar no atributo text:

TextEditingController
final dataController = TextEditingController(
  text: UtilData.obterDataDDMMAAAA(DateTime(2024, 12, 31)),
);
final cnpjController = TextEditingController(
  text: UtilBrasilFields.obterCnpj('11222333444455'),
);

Made with contrib.rocks.

Flutter Bootcamp GitHub avatar
GitHub 작성자

Flutter Bootcamp ↗

Treinamento completo em Flutter

언어DartC++CMakeHTMLCSwiftShellKotlinObjective-C

이 저장소가 배포한 패키지

사용 중인 의존성

의존성 목록 4 개

  • flutter{"sdk":"flutter"}
  • intl^0.20.1
  • flutter_lints개발 의존성^5.0.0
  • flutter_test개발 의존성{"sdk":"flutter"}

프로젝트에 맞는 저장소를 선택하려면?

사용 목적에 따라 검색하고 개발 활동을 비교한 뒤 원본 저장소에서 요구 사항을 확인하세요.

  1. 이름, 작성자 또는 설명으로 검색하고 기술 주제로 범위를 좁힙니다.
  2. 스타, 포크, 최근 푸시를 함께 비교하세요. 스타는 관심의 지표이며 품질을 보장하지 않습니다.
  3. 사용하기 전에 GitHub에서 README, 라이선스, Issues를 확인하세요.

출처 및 관리

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗