Diretiva para mascaras telefone, cpf, cnpj, etc

12,397 views
Skip to first unread message

Wemerson Couto Guimarães

unread,
Oct 21, 2013, 6:00:42 PM10/21/13
to angula...@googlegroups.com
Galera,

Preciso criar máscaras para usar nos meus formulários e tava olhando no ui-utils e até tem um esquema de máscara lá, mas não entendi como usar e to pensando em fazer a minha diretiva pra isso.

Alguma dica de material pra estudar e entender como fazer?


--
Wemerson Guimarães
Rio Verde - Go - Brasil

Yuri Piratello

unread,
Oct 22, 2013, 8:20:44 AM10/22/13
to angula...@googlegroups.com
Wemerson,

Só adicionar ao html do input onde deseja ter a máscara: ui-mask="(99) 99999-999?9" (telefone pt_BR)

=]

Atenciosamente;

Yuri Zanola Piratello
=====================


--
Você está recebendo esta mensagem porque se inscreveu no grupo "AngularJS BR" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para angularjs-br...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Wemerson Couto Guimarães

unread,
Oct 22, 2013, 8:24:36 AM10/22/13
to angula...@googlegroups.com
Pra qual lib? Pra usar com o UI-utils?

Yuri Piratello

unread,
Oct 22, 2013, 8:27:42 AM10/22/13
to angula...@googlegroups.com
Sim, adicione a lib mask no seu projeto.

<script src="<caminho>/angular-bootstrap/ui-bootstrap-tpls.min.js"></script>
<script src="<caminho>/angular-ui-utils/modules/mask/mask.js"></script>

Atenciosamente;

Yuri Zanola Piratello
=====================


Wemerson Couto Guimarães

unread,
Oct 22, 2013, 8:58:54 AM10/22/13
to angula...@googlegroups.com
Tx man.

Wemerson Couto Guimarães

unread,
Oct 27, 2013, 8:37:41 PM10/27/13
to angula...@googlegroups.com
A máscara até que tá dando certo, mas estou com problemas com a diferença de telefones com 4 e 5 dígitos no prefixo...

São Paulo: (11) 12345-6789 --> (99) 99999-9999
Outros Estados: (64) 1234-5678 --> (99) 9999-9999 ( um digito a menos )

Tenho que colocar a máscara sempre suportando o 5º dígito em SP, e ai quando digita um telefone de outro local, falta o último caracter: (64) 1234-5678_ e daí não funciona. Teria que ter uma opção para que o primeiro dígito do prefixo aceitasse um espaço por exemplo... então tentei a máscara: (99) *9999-9999 porém só aceita letras... preciso fazer com que aceite um espaço por exemplo...

Alguma dica?

 

Wemerson Couto Guimarães

unread,
Oct 28, 2013, 11:16:57 AM10/28/13
to angula...@googlegroups.com
Consegui resolver... Graças à dica do Yuri Piratello... mas eu não tinha entendido o porque do (?)

Depois de alguns testes percebi que o ? na máscara que define até onde é obrigatório o preenchimento... então fiz a máscara sem o "-" dividindo o numero, dessa forma: (99) 99999999?9 

Então os 8 primeiros digitos do numero do telefone são suficientes para qualquer telefone do Brasil, exceto São Paulo...


Wemerson Couto Guimarães

unread,
Oct 28, 2013, 11:18:37 AM10/28/13
to angula...@googlegroups.com
Um outro detalhe... também preciso criar máscara para o código do país, mas apenas em casos para telefones internacionais.

Então tenho uma opção de filtro para país... 

Se for Brasil, a máscara deve ser (99) 99999999?99
Caso contrário, a máscara deve vir com o espaço para o código do país: (999)(99) 99999999?9.

Mas como alterar a diretiva ui-mask do inputbox em tempo de execução?
Reply all
Reply to author
Forward
0 new messages