Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

maxeller

Formatar campo moeda

Recommended Posts

Olá,Estou precisando formatar uma caixa de texto que ao usuario inserir um valor em dinheiro essa preencha automaticamente o ponto de milhar e a virgula, sem necessidade desses serem digitados pelo usuario.Tenho como exemplo o campo valor no site do Banco do Brasil e o mesmo campo no site dor correios quando se deseja consultar o valor do SEDEX para envio.Caso alguem possa me ajudar, obrigado!Max

Compartilhar este post


Link para o post
Compartilhar em outros sites

function FormataValor(campo,tammax,teclapres)  { 	//uso:	//<input type="Text" name="fat_vr_bruto" maxlength="17" onKeyDown="FormataValor(this,17,event)">	var tecla = teclapres.keyCode;	vr = campo.value;	vr = vr.replace( "/", "" );	vr = vr.replace( "/", "" );	vr = vr.replace( ",", "" );	vr = vr.replace( ".", "" );	vr = vr.replace( ".", "" );	vr = vr.replace( ".", "" );	vr = vr.replace( ".", "" );	tam = vr.length;	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 <= 2 ){ 	 		campo.value = vr; }	 	if ( (tam > 2) && (tam <= 5) ){	 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }	 	if ( (tam >= 6) && (tam <= 8) ){	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 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 - 2, 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 - 2, 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 );}	}			}

Uso:

<input type="text" name="num" id="num" onKeyDown="FormataValor(this,17,event);">

Roubei do site dos correios XD

Os créditos são deles =P

 

Abraços, T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.