Mascara Real

151 views
Skip to first unread message

Alisson Nunes da Rocha

unread,
Sep 6, 2012, 10:31:33 AM9/6/12
to javascr...@googlegroups.com
Bom dia galera,

Procurei na internet mas sem sucesso, alguém da comunidade teria alguma mascara para numeors reais com 4 casas decimais??

Ex: 32,0000

Obrigado desde já!

Suissa

unread,
Sep 10, 2012, 11:22:58 AM9/10/12
to javascr...@googlegroups.com
Vc esta usando algum lib de js ou js puro?

2012/9/6 Alisson Nunes da Rocha <alissond...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "javascript brasil" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/javascript-bra/-/7E-KVrzY2GcJ.
Para postar neste grupo, envie um e-mail para javascr...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para javascript-br...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/javascript-bra?hl=pt-BR.



--
Jean C. Nascimento aka Suissa
Technical Leader - Nodeware- SP

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 11:36:24 AM9/10/12
to javascr...@googlegroups.com
Utilizei o JQUERY, tem 4 casas decimais... Mas como estou utilizando AJAX, ele está dando pau na mascara...

Quando por exemplo, digito: 0,0001 ele sai: 0,0111 os numeros repetidos... Já com mascara no JS PURO de 2 casas decimais ele funciona q é uma beleza... só que não conseguir adequar essa mesma função para 4 casas decimais...

A função para 2 casas decimais é:

http://pastebin.com/pCXNXZP0

Vlw amigo!
att,
Alisson Nunes da Rocha

e-mail/msn: alissond...@gmail.com
55 (61) 8503 2458 - Gama-DF
Hostion - Hospedagem de Site (http://www.hostion.com.br)

Suissa

unread,
Sep 10, 2012, 12:08:08 PM9/10/12
to javascr...@googlegroups.com
Depois dou uma olhada mas ja vi que essa função faz mto mais coisa que apenas mascara.

Qual plugin do jquery vc usou? Pq isso eh simples com um maskedinput ou o mask.

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 12:09:45 PM9/10/12
to javascr...@googlegroups.com
Utilizei o maskMoney... Vlw amigo!

$(".4_casas_decimais").livequery("focus", function(){
        $(this).maskMoney({symbol:"",decimal:",",thousands:".",precision:2});
});

Suissa

unread,
Sep 10, 2012, 1:38:48 PM9/10/12
to javascr...@googlegroups.com
precision:2 troca por precision:4

creio que seja isso.

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 1:44:13 PM9/10/12
to javascr...@googlegroups.com
Eu mandei a mascara errada, mas é isso mesmo... APENAS MUDAR O PRECISION:4...

Só que o PROBLEMA q ele está dando pau com AJAX...

Ai preciso de umas MASCARA no JS puro com 4 casas decimais!

Suissa

unread,
Sep 10, 2012, 2:11:11 PM9/10/12
to javascr...@googlegroups.com
A função que vc mandou no pastebin nao esta completa, falta outras funções que estão sendo chamadas internamente, ou usa o jquery ou coloca no jsfiddle / jsbin rodando que dae eu ajeito para 4 casas.

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 2:16:42 PM9/10/12
to javascr...@googlegroups.com
Suissa,

Colei o codigo completo, de como chama no INPUT, e as demais, essa é com 2 casas decimais, consegue manipular ela para 4 casas decimais?

Abraços amigo e obrigado pelo apoio!

http://pastebin.com/A2GfWuBY

Suissa

unread,
Sep 10, 2012, 2:29:16 PM9/10/12
to javascr...@googlegroups.com
Como eu disse coloca no jsfiddle ou jsbin, pq no pastebin não da para fazer nada.

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 2:29:57 PM9/10/12
to javascr...@googlegroups.com
Foi mal, nunca ussei essas ferramentas, vou postar agora!

Alisson Nunes da Rocha

unread,
Sep 10, 2012, 2:36:58 PM9/10/12
to javascr...@googlegroups.com
Seria isso amigo:
http://jsbin.com/ibeniw/1/edit

Abraços...

Alisson Nunes da Rocha

unread,
Sep 11, 2012, 3:37:50 PM9/11/12
to javascr...@googlegroups.com
Problema resolvido, utilizando expressão regular:
js:
<script>
function moeda(z){
    v = z.value;
    v=v.replace(/\D/g,"") //permite digitar apenas números
    v=v.replace(/[0-9]{15}/,"inválido") //limita pra máximo 999.999.999,99
    v=v.replace(/(\d{1})(\d{13})$/,"$1.$2") //coloca ponto antes dos últimos 13 digitos
    v=v.replace(/(\d{1})(\d{10})$/,"$1.$2") //coloca ponto antes dos últimos 10 digitos
    v=v.replace(/(\d{1})(\d{7})$/,"$1.$2") //coloca ponto antes dos últimos 7 digitos
    v=v.replace(/(\d{1})(\d{1,4})$/,"$1,$2") //coloca virgula antes dos últimos 4 digitos
    z.value = v;
}
</script>

html:
<form>Valor R$:<input type="text" name="texto" size="11" style="text-align:right; width: 300px;" onKeyUp="moeda(this);"></form>

Derrepende sirva pra alguém... Abraços!
Reply all
Reply to author
Forward
0 new messages