Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Shirley Oliveira

Validação de Campos (CNPJ, CPF, CEP e outros)

Recommended Posts

Olá, pessoal!

 

Bom, peguei este código que valida campos de formulários, como cpf, cnpj, cep, data, e tel.

Percebi que o código é profissional, mas não funciona em outros navegadores, apenas no IE.

 

Será que alguém poderia me ajudar a fazê-lo funcionar em outros navegadores?

Acredito que seja um bom código para que outras pessoas que precisem validar seus formulários possam utilizar, porém funcionando em todos os navegadores.

 

Este código faz a máscara e a validação dos campos.

Espero que vocês possam me ajudar!

 

Muito Obrigada.

 

 

Segue abaixo o código e a forma que ele é utilizado.

 

No HTML

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

<input name="cnpj" type="text" size="20" maxlength="18" onKeyPress="MascaraCNPJ(this);" onBlur="ValidarCNPJ(this);">

[b]No JS[/b]
----------------------------------------------------------------------------------

// JavaScript Document
//adiciona mascara de cnpj
function MascaraCNPJ(cnpj){
   if(mascaraInteiro(cnpj)==false){
       event.returnValue = false;
   }    
   return formataCampo(cnpj, '00.000.000/0000-00', event);
}

//adiciona mascara de cep
function MascaraCep(cep){
       if(mascaraInteiro(cep)==false){
       event.returnValue = false;
   }    
   return formataCampo(cep, '00.000-000', event);
}

//adiciona mascara de data
function MascaraData(data){
   if(mascaraInteiro(data)==false){
       event.returnValue = false;
   }    
   return formataCampo(data, '00/00/0000', event);
}

//adiciona mascara ao telefone
function MascaraTelefone(tel){    
   if(mascaraInteiro(tel)==false){
       event.returnValue = false;
   }    
   return formataCampo(tel, '(00) 0000-0000', event);
}

//adiciona mascara ao CPF
function MascaraCPF(cpf){
   if(mascaraInteiro(cpf)==false){
       event.returnValue = false;
   }    
   return formataCampo(cpf, '000.000.000-00', event);
}

//valida telefone
function ValidaTelefone(tel){
   exp = /\(\d{2}\)\ \d{4}\-\d{4}/;
   if(!exp.test(tel.value))
       alert('Numero de Telefone Invalido!');
}

//valida CEP
function ValidaCep(cep){
   exp = /\d{2}\.\d{3}\-\d{3}/;
   if(!exp.test(cep.value))
       alert('Numero de Cep Invalido!');        
}

//valida data
function ValidaData(data){
   exp = /\d{2}\/\d{2}\/\d{4}/;
   if(!exp.test(data.value))
       alert('Data Invalida!');            
}

//valida o CPF digitado
function ValidarCPF(Objcpf){
   var cpf = Objcpf.value;
   exp = /\.|\-/g;
   cpf = cpf.toString().replace( exp, '' );
   var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
   var soma1=0, soma2=0;
   var vlr =11;

   for(i=0;i<9;i++){
       soma1+=eval(cpf.charAt(i)*(vlr-1));
       soma2+=eval(cpf.charAt(i)*vlr);
       //vlr–;
       vlr--;
   }    
   soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
   soma2=(((soma2+(2*soma1))*10)%11);

   var digitoGerado=(soma1*10)+soma2;
   if(digitoGerado!=digitoDigitado)    
       alert('CPF Invalido!');        
}

//valida numero inteiro com mascara
function mascaraInteiro(){
if (event.which < 48 || event.which > 57){
	event.returnValue = false;
	return false;
}
return true;    
}

//valida o CNPJ digitado
function ValidarCNPJ(ObjCnpj){
   var cnpj = ObjCnpj.value;
   var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
   var dig1= new Number;
   var dig2= new Number;

   exp = /\.|\-|\//g;
   cnpj = cnpj.toString().replace( exp, '' );
   var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

   for(i = 0; i<valida.length; i++){
       dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);    
       dig2 += cnpj.charAt(i)*valida[i];    
   }
   dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
   dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

   if(((dig1*10)+dig2) != digito)    
       alert('CNPJ Invalido!');

}

//formata de forma generica os campos
function formataCampo(campo, Mascara, evento) {
   var boleanoMascara;

   var Digitato = evento.keyCode;
   exp = /\-|\.|\/|\(|\)| /g;
   campoSoNumeros = campo.value.toString().replace( exp, '' );

   var posicaoCampo = 0;    
   var NovoValorCampo='';
   var TamanhoMascara = campoSoNumeros.length;

   if (Digitato != 8 ) { // backspace
       for(i=0; i<= TamanhoMascara; i++) {
           boleanoMascara  = ((Mascara.charAt(i) == '-') || (Mascara.charAt(i) == '.')
                               || (Mascara.charAt(i) == '/'))
           boleanoMascara  = boleanoMascara || ((Mascara.charAt(i) == '(')
                               || (Mascara.charAt(i) == ')') || (Mascara.charAt(i) == ' '))
           if (boleanoMascara) {
               NovoValorCampo += Mascara.charAt(i);
                 TamanhoMascara++;
           }else {
               NovoValorCampo += campoSoNumeros.charAt(posicaoCampo);
               posicaoCampo++;
             }           
         }    
       campo.value = NovoValorCampo;
         return true;
   }else {
       return true;
   }
}

// END JavaScript Document

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.