FórumGdH

Página Inicial do Guia do Hardware

Registrar FAQ Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Voltar   FórumGdH > Profissional > Programação, scripts, web e banco de dados
Bem-vindo ao FórumGdH
Não se esqueça de se registrar, é grátis . Nós temos 754.122 usuários, convidamos você fazer parte de nossa comunidade também! Se ainda não encontrou o que procura use nossa pesquisa. Esperamos que aprecie nosso trabalho.

Resposta
 
Opções do Tópico
Antigo 11-01-2005, 16:06   #1 (permalink)
Andreia_Sp
Super Participante
 
Registrado em: Mar 2003
Localização: São Paulo / SP
Idade: 29
Mensagens: 646
Reputação: 19 Andreia_Sp está indo no caminho certo
Padrão Javascript: formatar moeda

Pessoal,

alguém sabe a função em javascript que, durante a digitação do valor irá automaticamente adicionando o ponto e a vírgula?
Ex.:
usuario digitou 1000 e na mesma hora imprime 1.000,00



obrigada.
__________________
"Eu acreditava no sistema, até que formataram minha família."

"Se as coisas são feitas para serem usadas e as pessoas para serem amadas, por que amamos as coisas e usamos as pessoas ???"
Andreia_Sp está offline   Responder com Quote
Antigo 11-01-2005, 16:19   #2 (permalink)
psychocandy
Membro Senior
 
Registrado em: Nov 2002
Localização: BA
Mensagens: 182
Reputação: 19 psychocandy está indo no caminho certo
Padrão

isso deve te ajudar!
Código:
function Limpar(valor, validos) { // retira caracteres invalidos da string var result = ""; var aux; for (var i=0; i < valor.length; i++) { aux = validos.indexOf(valor.substring(i, i+1)); if (aux>=0) { result += aux; } } return result; } //Formata número tipo moeda usando o evento onKeyDown function Formata(campo,tammax,teclapres,decimal) { var tecla = teclapres.keyCode; vr = Limpar(campo.value,"0123456789"); tam = vr.length; dec=decimal if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; } if (tecla == 8 ) { tam = tam - 1 ; } if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ) { if ( tam <= dec ) { campo.value = vr ; } if ( (tam > dec) && (tam <= 5) ){ campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; } if ( (tam >= 6) && (tam <= 8) ){ campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; } if ( (tam >= 9) && (tam <= 11) ){ campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; } if ( (tam >= 12) && (tam <= 14) ){ campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; } if ( (tam >= 15) && (tam <= 17) ){ campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;} } }
pra chamar faz isso:

Código:
texto1: <input type="text" name="texto" size="20" onKeydown="Formata(this,20,event,2)">
psychocandy está offline   Responder com Quote
Antigo 05-11-2007, 22:07   #3 (permalink)
by.Couto
Newbie
 
Registrado em: Nov 2007
Mensagens: 1
Reputação: 0 by.Couto está indo no caminho certo
Padrão Formatando moeda com javascript

Esse script eh bem bacana:
Código:
function formataMoeda(objTextBox,SeparadorMilesimo, SeparadorDecimal,e){ var sep = 0; var key = ”; var i = j = 0; var len = len2 = 0; var strCheck = ‘0123456789′; var aux = aux2 = ”; var whichCode = (window.Event) ? e.which : e.keyCode; // 13=enter, 8=backspace as demais retornam 0(zero) // whichCode==0 faz com que seja possivel usar todas as teclas como del, setas, etc if ((whichCode == 13) || (whichCode == 0) || (whichCode == 8)) return true; key = String.fromCharCode(whichCode); // Valor para o código da Chave if (strCheck.indexOf(key) == -1) return false; // Chave inválida len = objTextBox.value.length; for(i = 0; i < len; i++) if ((objTextBox.value.charAt(i) != ‘0′) && (objTextBox.value.charAt(i) != SeparadorDecimal)) break; aux = ”; for(; i 2) { aux2 = ”; for (j = 0, i = len - 3; i >= 0; i–) { if (j == 3) { aux2 += SeparadorMilesimo; j = 0; } aux2 += aux.charAt(i); j++; } objTextBox.value = ”; len2 = aux2.length; for (i = len2 - 1; i >= 0; i–) objTextBox.value += aux2.charAt(i); objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len); } return false; }
Chamada ao script:
Código:
onKeyPress=”return(formataMoeda(this,’.',’,',event))”
Artigo completo em:
http://nodesign.wordpress.com/2007/1...om-javascript/
by.Couto está offline   Responder com Quote
Resposta


Opções do Tópico

Regras de Mensagens
Você não pode criar tópicos
Você não pode postar respostas
Você não pode anexar arquivos
Você não pode editar suas mensagens

Código vB está Ligado
Smiles estão Ligado
Código [IMG] está Ligado
Código HTML está Desligado
Ir para...


Horários baseados na GMT -3. Agora são 15:21.