Ir para conteúdo
Fórum Script Brasil
  • 0

Mask de dinheiro para campo


Fragata

Pergunta

Pessoal preciso de uma mask que me permita fazer isso:

5.000,00

Tenho somente um código que m permite colocar números fixos, tipo data 10/10/50, seis números, mas esse de colocar valor monetário tá bem complicado pra mim.

Além do mais, pesquisando por alguns fóruns descobri que precisa ser digitado da direita pra esquerda, como caixa de banco, porque assim o cara passa a vírgula sem problemas.

E ainda a numeração não pode ser fixa T T

Alguém pode me ajudar? Obrigado o/

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Cara eu uso uma classe jquery que é perfeita pra todo tipo de mascara, você quem cria as mascaras. Primeiro baixe e de include neste arquivo:

mask.js

após você pode já deixar programado suas mascaras, chame no começo de sua pagina ou em um arquivo javascript geral os seguintes codigos:

$(function(){
// masks
    $.mask.masks.hora = {
        mask: '24:59'
    }
    $.mask.masks.numeric = {
        mask:'9',
        type:'repeat'
    }
    $.mask.masks.data    = {
        mask: '39/19/2999'
    }
    $.mask.masks.fone    = {
        mask: '(99) 9999-9999'
    }
    $.mask.masks.cep     = {
        mask: '99999-999'
    }
    $.mask.masks.cpf     = {
        mask: '999.999.999-99'
    }
    $.mask.masks.money   = {
        mask : '99,999.999.999.999',
        type : 'reverse',
        defaultValue : '+000'
    }
    $('input:text').setMask(); 
});
após isso é só utilizar desta maneira:
<input type="text" name="" alt="money"/>

espero ter ajudado, abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, obrigado mesmo, mas acabei nem usando seu código, tentei mas não deu certo xD

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

Pra quem quiser, eu encontrei esse script aqui que é especificamente pra valor monetário, é bem fácil.

=====================Script=====================

function maskIt(w,e,m,r,a){
    
    // Cancela se o evento for Backspace
    if (!e) var e = window.event
    if (e.keyCode) code = e.keyCode;
    else if (e.which) code = e.which;
        
    // Variáveis da função
    var txt  = (!r) ? w.value.replace(/[^\d]+/gi,'') : w.value.replace(/[^\d]+/gi,'').reverse();
    var mask = (!r) ? m : m.reverse();
    var pre  = (a ) ? a.pre : "";
    var pos  = (a ) ? a.pos : "";
    var ret  = "";

    if(code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g,'').length) return false;

    // Loop na máscara para aplicar os caracteres
    for(var x=0,y=0, z=mask.length;x<z && y<txt.length;){
        if(mask.charAt(x)!='#'){
            ret += mask.charAt(x); x++;
        } else{
            ret += txt.charAt(y); y++; x++;
        }
    }
    
    // Retorno da função
    ret = (!r) ? ret : ret.reverse()    

   if (w.value.match("-")){
        w.value = "-"+ret+pos;
    }else{
        w.value = pre+ret+pos;
    }

}

// Novo método para o objeto 'String'
String.prototype.reverse = function(){
    return this.split('').reverse().join('');
};
===================Campo================================
<input type="text" name="dinheiro" onkeyup="maskIt(this,event,'###.###.###,##',true,{pre:'R$', pos:''})
" />

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

Obrigado pela ajuda novamente o/

Editado por Fragata
Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...