Procurei aqui no forum algum script para formatar moeda, encontrei varios, mas a maioria só funciona no IE. Encontrei um que funciona no FF e no IE, mas o campo aceita letras e numeros, não manjo muito de javascript, se alguém puder me ajudar a melhorar o script para aceitar somente numeros, fico Grato!
segue abaixo o script
<html>
<head>
<title>Noticías on-line</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>
<script>
function FormataValor(id,tammax,teclapres) {
if(window.event) { // Internet Explorer
var tecla = teclapres.keyCode; }
else if(teclapres.which) { // Nestcape / firefox
var tecla = teclapres.which;
}
vr = document.getElementById(id).value;
vr = vr.toString().replace( "/", "" );
vr = vr.toString().replace( "/", "" );
vr = vr.toString().replace( ",", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().replace( ".", "" );
vr = vr.toString().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 ){
document.getElementById(id).value = vr; }
if ( (tam > 2) && (tam <= 5) ){
document.getElementById(id).value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ); }
if ( (tam >= 6) && (tam <= 8) ){
document.getElementById(id).value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ); }
if ( (tam >= 9) && (tam <= 11) ){
document.getElementById(id).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) ){
document.getElementById(id).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) ){
document.getElementById(id).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 );}
}
}
</script>
</head>
<body>
<form action="" method="POST">
<input name="valor" type="text" id="valor" onKeyPress="FormataValor(this.id, 10, event)" size="10" maxlength="10"/>
<input type="submit" >
</form>
</body>
</html>
Pergunta
misterviralata
ola amigos!
Procurei aqui no forum algum script para formatar moeda, encontrei varios, mas a maioria só funciona no IE. Encontrei um que funciona no FF e no IE, mas o campo aceita letras e numeros, não manjo muito de javascript, se alguém puder me ajudar a melhorar o script para aceitar somente numeros, fico Grato!
segue abaixo o script
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.