Jump to content


Photo

Máscara para Valores em R$


  • Faça o login para participar
3 replies to this topic

#1 Tofinha

Tofinha

    Turista

  • Usuários
  • 35 posts
  • Sexo:Não informado
  • Localidade:Brasília - DF
  • Interesses:ColdFusion MX, Java, SQL Server, Flash, DreamMX

Posted 19/11/2002, 15:12

<HTML>
<HEAD>
<script LANGUAGE="JavaScript">
<!-- Autor: Francisco C Paulino - Tofinha (fcptofinha@globo.com) -->
<!-- Data: 08/11/2002 - 11:55hs -->
<!-- Script que formata Valores em reais ao digitar -->

<!-- Início da Função FormataReais -->

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;
}

//Fim da Função FormataReais -->
</script>

</HEAD>
<BODY>

<form>
Valor R$:  
<input type=text name=valor length=15 onKeyPress="return(FormataReais(this,'.',',',event))">
</form>

<p><center>
<font face="arial, helvetica" size"-2">Função em Java Script para Formatação de Valores<br>
por <a href="mailto:fcptofinha@globo.com">Tofinha/Brasília - DF</a></font>
</center><p>
</BODY>
</HTML>


Abraços e Sucesso!
// Francisco C Paulino
// Tofinha
// Membership Chair
// ColdFusion User Group do Distrito Federal
// ColdFusion MXe CFUG-DF Sempre!!!

#2 georgewar

georgewar

    Let's upgrade myself

  • Usuários
  • 169 posts
  • Sexo:Masculino
  • Localidade:Rio de Janeiro - RJ
  • Interesses:PHP - JavaScript

Posted 03/01/2008, 19:54

nossa, depois de 2 horas na internet encontrei uma que preste!
valew

#3 Daniel Docki

Daniel Docki

    Novato no fórum

  • Usuários
  • 17 posts
  • Sexo:Não informado

Posted 05/01/2008, 13:13

Opa, achei o que eu queria
Mas assim se a pessoa quiser apagar o que ela escreveu não consegue...tem como resolver isso?

#4 Bomba Net

Bomba Net

    12 Horas

  • Usuários
  • 205 posts
  • Sexo:Masculino
  • Localidade:São José dos Campos
  • Interesses:me intereso em atuar nas areas de webdesingner e de webdeveloper

Posted 10/01/2008, 10:04

Com essa mascara não é possivel apagar algum caractere caso a pessoa erre, é possivel resolver issso?

edit--

Tae quem quiser

<script LANGUAGE="JavaScript"><!-- Autor: Francisco C Paulino - Tofinha (fcptofinha@globo.com) --><!-- Data: 08/11/2002 - 11:55hs --><!-- Script que formata Valores em reais ao digitar --><!-- Início da Função FormataReais -->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) || (whichCode == 0) || (whichCode == 8))return true;key = String.fromCharCode(whichCode);  // Valor para o código da Chaveif (strCheck.indexOf(key) == -1) return false;  // Chave inválidalen = 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;}//Fim da Função FormataReais --></script>

Edição feita por: Bomba Net, 10/01/2008, 13:10.

Everton Lima
WebMaster

www.iMessenger.com.br




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq