Jump to content
klonder

Máscaras para TextField em JavaScript

Recommended Posts

Tentei incluir a máscara a seguir em um POST meu antigo, porém está fechado para novas respostas:

 

Todavia, para futuras consultas minhas e também para ajudar outras pessoas, venho deixar uma máscara interessante que acabei de terminar em JavaScript.

Ficou muito menor que a do POST acima:

<script type="text/javascript">
var iCount1;
var trava = false;

function MaskDown(e) {    
    if (trava == false) {
        iCount1 = e.value.length;
        trava = true;
    }
}

function MaskUp(e,mascara) {
    if (trava) {
        var textoLimpo = e.value.substr(0,iCount1+1).replace(/[\/\:\-\.]/g,"");
        var texto = "";
        
        var iM = 0;
        var iT = 0;
        while (iM < mascara.length) {
            if (iT < textoLimpo.length) {                
                if (mascara.substr(iM,1) == "#") {
                   texto += textoLimpo.substr(iT,1);
                   iT++;
                } else {
                    texto += mascara.substr(iM,1);
                }            
            }
        iM++;           
        }
    e.value = texto;
    trava = false;
    }    
}
</script>

Para funcionar, basta incluir em suas tags input os eventos, como demonstrado a seguir:

<input type="text" id="tfData" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##/##/####')" placeholder="dd/mm/aaaa" style="width:80px" />
<br /><input type="text" id="tfHora" onkeydown="MaskDown(this)" onkeyup="MaskUp(this,'##:##')" placeholder="hh:mm"  style="width:50px"/>
    

À medida que o usuário vai digitando, o valor campo vai sendo formatado. Pode ser usado para CPF, CEP, RG, dentre outros...

 

Divirtam-se!

  • +1 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Kefatif
      Prezados, bom dia.
       
      Sou novo no fórum, peço desculpas caso esteja postando no local errado.
       
      Estou precisando que o edit abaixo tenha máscara de CPF e verique se o mesmo é válido ou não apresentando mensagem caso seja inválido.
       
      Meu código:
      <label style="width:15%;">CPF<br><input type="text" id="cpf" step="0.1" name="cpf" class="form-control cpf-mask" placeholder="Ex.: 000.000.000-00" style="width:100%"></label>  
      Já tentei diversas formas e não consegui.
       
      Obs.: Sou iniciante em programação web.
       
      Agradecido desde já pelas ajudas que estão por vir.
       
      Muito obrigado!!!
    • By Kaio Augusto de Castro
      Ola pessoal, estou com uma duvida que eu não sei nem como me expressar, mas mesmo assim irei tentar.
       
      Gostaria de saber se é possível mostrar apenas um fomulário em meu site sem o conteúdo do resto, queria fazer uma espécie de "mascara" para esconder coisas que eu não quero que seja mostrado em meu site e mostrar somente aquilo que me interessa assim como descreve as imagens abaixo. 
       
      A imagem 01 é como aparece a pagina, na imagem 02 é como eu gostaria que aparecesse na minha pagina, apenas o formulário em as propagandas da empresa que fornece a hospedagem.


    • By Cleudiney T Brandão
      Pessoal alguém me dá uma ajuda com Mysql por favor.
      Tenho uma coluna em meu BD que precisaria o seguinte: 
      Ela não é obrigatória mas se preenchida não poderia ter outras ocorrências dela.
      É um campo que ao meu ver seria UNIQUE mas que aceitasse NULL.
    • By Cleudiney T Brandão
      Pessoal alguém me dá uma ajuda com Mysql por favor.
      Tenho uma coluna em meu BD que precisaria o seguinte: 
      Ela não é obrigatória mas se preenchida não poderia ter outras ocorrências dela.
      É um campo que ao meu ver seria UNIQUE mas que aceitasse NULL.
    • By Viniciusr9
      Boa tarde pessoal,
      basicamente eu preciso do retorno de horas entre duas datas, porém tenho condições a tratar .
      basicamente tenho 2 colunas ( dt_fim e dt_ini ) que representam data final e data inicial. Preciso da diferença entre as duas retornada em uma outra coluna (hr_ausencias) , porém a cada dia posso computar no máximo 9 horas, e desconsiderar finais de semana e feriados( esses cadastrados em uma tabela) . Seria melhor tratar isso com uma Trigger , um Script PL/SQL , como me sugerem? Agradeço quem puder ajudar.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.