Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Vilela Alves

[Resolvido] como formatar conta corrente

Recommended Posts

olá... gostaria de saber como posso fazer para foramatar valores do tipo conta corrente automaticamente...

por exemplo..digito

54415

e automaticamente aparece

5441-5

tipo formatação de reais...

 

eu encontrei uma forma_reais no google.. mas como nao sou mto experiente nao entendi mto como ela funciona, por isso nao consegui auterá-la para conta corrente...

 

o exemplo tai se alguem consedguir mi ajudar agradeço mto...

function FormataReais(fld, milSep, decSep, 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;
			if (whichCode == 13) return true;
				key = String.fromCharCode(whichCode);  // Valor para o código da Chave
			if (strCheck.indexOf(key) == -1) return false;  // Chave inválida
				len = fld.value.length;
			for(i = 0; i < len; i++)
				if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
			aux = '';
			for(; i < len; i++)
				if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
			aux += key;
			len = aux.length;
			if (len == 0) fld.value = '';
			if (len == 1) fld.value = '0'+ decSep + '0' + aux;
			if (len == 2) fld.value = '0'+ decSep + aux;
			if (len > 2)
			{
				aux2 = '';
				for (j = 0, i = len - 3; i >= 0; i--)
				{
					if (j == 3) 
					{
						aux2 += milSep;
						j = 0;
					}
					aux2 += aux.charAt(i);
					j++;
				}
				fld.value = '';
				len2 = aux2.length;
				for (i = len2 - 1; i >= 0; i--)
					fld.value += aux2.charAt(i);
				fld.value += decSep + aux.substr(len - 2, len);
			}
			return false;
		}

e a chamada no input é feita assim:

onkeypress="return(FormataReais(this,'.',',',event))"

se alguem souber como posso modificar esse codigo ou souber de um codigo para formatar conta corrente mi ajude por favor....

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara nao eh exatente o que eu queria naum...

usando script como o ki você postou pra mim ai faz a formatação porem com uma quantidade fiza de numeros,

por exemplo.. 5 numeros antes do ifem e um depois...

 

eu gostaria de um codigo ki fizesse mais ou menos como o codigo ki postei em cima...

fosse colocando os numeros da direita pra esquerda...

ex:

-1

1-2

12-5

125-6

1256-9

 

o codigo acima faz isso porem com duas casa depois do ifem.. eu naum entendi esse codigo por isso nao consegui modificá-lo...

nao sei mais onde procurar... jah rodei o google inteiro e nao encontrei nada concreto.. você nao saberia outra maneira de fzr isso que eu quero?!?!?!

obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, procura por mascara na busca do forum que você vai encontrar bastante coisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nussss kra...

ja rodei esse forum de cima a baixo.. incontrei todo tipo de mascara..

mas naum encontrei mascara como a ki eu procuro....

pra fzr fixa eu consegui...

onde antes do ifem tenha sempre a msm quantidade de numeros..

ex: 123456-7

mas naum consegui fzr com ki ela fikasse dinaminca.....

 

pelamor de Deus.. alguem pode mi dar uma ajuda... to ficando desorientado jah uai.....

Compartilhar este post


Link para o post
Compartilhar em outros sites
CODE

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Untitled Page</title>
<script type="text/javascript">
//Obtido no site www.bb.com.br
function FormataDado(campo, tammax, pos, teclapres) {
var keyCode;
if (teclapres.srcElement)
{
keyCode = teclapres.keyCode;
} else if (teclapres.target)
{
keyCode = teclapres.which;
}
if (keyCode == 0 || keyCode == 8) { return true; }
if ((keyCode < 48 || keyCode > 57) && keyCode != 88 && (keyCode != 120)) { return false; }
var tecla = keyCode;
vr = campo.value;
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 == 88 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 || tecla == 120)
{
if (tam <= 2)
{
campo.value = vr;
}
if (tam > pos && tam <= tammax)
{
campo.value = vr.substr(0, tam - pos) + "-" + vr.substr(tam - pos, tam);
}
}
}

</script>
</head>
<body>
<form>
<input id="Text1" type="text" onkeypress="return FormataDado(this,12,1,event);" />
<form>

</body>
</html>





Peguei o código horrível do site do banco do brasil, (www.bb.com.br) adaptei e estou postando tudo prontinho para você. Agora aproveita o tempo extra e estuda um pouco mais de javascript, porque na próxima pode não haver um script pronto para livrar sua barra.

Abraços,

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu consegui fazer o que você esta tentando, desta forma descrita abaixo.


SELECT substr(lpad(a.cd_cc,6,0),0,2)||'.'||

substr(lpad(a.cd_cc,6,0),3,3)||'-'||

substr(lpad(a.cd_cc,6,0),6,2) AS mask_cc

FROM contacorrente a

WHERE a.nr_cc = 123456


----------------------------------

12.345-6

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.