Precisando de uma máscara de CPF, CNPJ ou entre outras?
Smart Mask (https://github.com/pkunzel/smart_mask) é uma biblioteca de máscara de dados bem simples com o intuito de fornecer múltiplas mascaras que com frequencia com frequência em um sistema ou app. O Projeto é constituído por duas classes, uma que aplica as máscaras e outra que monitora elementos HTML para manter a máscara aplicada.
Como funcionam as classes?
ApplyMask
A Classe apply mask possui apenas métodos estáticos que estão prontos para serem chamados mediante passagem de parâmetros conforme exemplo abaixo
ApplyMask.toCPF('88888888888') // output '888.888.888-88' ApplyMask.toPhone('51999999998') // output '(51) 999999998' ApplyMask.charactersOnly('qwerty12345') // output 'qwerty'
CustomMask
Gera eventos para os elementos com o atributos data-custom-mask=”mascara”, onde máscara é o nome do tipo de máscara a ser implementada. As opções são
• cpf: um CPF
• cnpj: um CNPJ
• phone: um telefone com DDD incluso
• cep: um CEP
• date: uma data seguindo o formato DD/MM/YYYY
• numbers: extrai apenas os valores numéricos
• characters: extrai apenas os caracteres
• non-special-characters: Extrai apenas os caracteres não especiais
Exemplo
HTML
<input type="text" data-custom-mask="cpf" value="11122233344" />
JS
// Ao iniciar a página window.addEventListener('load', (e) => new CustomMask()); // Obs.: Pode ser feito inicializado em qualquer outro momento.
Importante: Qualquer valore que seja maior que o tamanho da máscara terá os últimos caracteres removidos. ou seja, um CPF que venha com 15 caracteres devido a algum erro terá os últimos 4 caracteres removidos.