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

função para mascara CPF


laurinha2004

Pergunta

Olá, tenho a seguinte função em js para colocar mascara no campo do CPF:

<script>
function mascara(o,f){
    v_obj=o
    v_fun=f
    setTimeout("execmascara()",1)
}

function execmascara(){
    v_obj.value=v_fun(v_obj.value)
}

function formatarCpf(v){
    v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
    v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
                                             //de novo (para o segundo bloco de números)
    v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
    return v
}
</script>
Teste de máscara de CPF: <input type="text" name="cpf" maxlength="14" size="13" onKeyPress="mascara(this, formatarCpf)">
Estou fazendo uma busca por nome ou CPF, e queria fazer o seguinte: Se o usuário selecionar o tipo CPF, então no campo pesquisa ele coloca a mascara de CPF no campo. E caso ele selecione o tipo nome, ele retire a mascara de CPF do campo. Minha página de busca tem:
Buscar por: <select name="tipo">
           <option value="1">Nome</option>
           <option value="2">CPF</option>
      </select>
&nbsp;
<input type="text" name="pesquisa">

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

i aew laurinha2004 tenta mais ou menos assim:

<html>
    <head>
		<script type="text/javascript">
			function mascara(o,f){
				v_obj=o
				v_fun=f
				setTimeout("execmascara()",1)
			}

			function execmascara(){
				v_obj.value=v_fun(v_obj.value)
			}

			function formatarCpf(v){
				v=v.replace(/\D/g,"")                    //Remove tudo o que não é dígito
				v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
				v=v.replace(/(\d{3})(\d)/,"$1.$2")       //Coloca um ponto entre o terceiro e o quarto dígitos
														 //de novo (para o segundo bloco de números)
				v=v.replace(/(\d{3})(\d{1,2})$/,"$1-$2") //Coloca um hífen entre o terceiro e o quarto dígitos
				return v
			}

			function mudaMascara( objSelec , id )
			{
				var campo = document.getElementById( id ) ;
				campo.value = "" ;
				campo.focus() ;
				( objSelec.selectedIndex == 1 ) ? campo.onkeypress = function(){ mascara(this, formatarCpf) } : campo.onkeypress = function(){} ;
			}

		</script>
    </head>
    <body>
Teste de máscara de CPF: <input type="text" name="cpf" maxlength="14" size="13" onKeyPress="mascara(this, formatarCpf)">

Buscar por: <select name="tipo" onchange="mudaMascara( this , 'pesquisa' )">
			   <option value="1">Nome</option>
			   <option value="2">CPF</option>
			</select>
&nbsp;
<input type="text" id="pesquisa" name="pesquisa">
    </body>
</html>

espero que ajude, abraço!

Editado por Romerito
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
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...