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

Validando Campo De Cnpj E Cpf


tsarri

Pergunta

7 respostass a esta questão

Posts Recomendados

  • 0

CPF:

<!------------- Begin
// -----------------------------------------------------------------
// Funcao    : IsCPFValid
// Linguagem   : JavaScript
// Descricao   : Verifica a validade de um CPF
// Copyright   : (c) 2000 ADF Consulting - Silvio N Hirashiki
// http://www.adfcon.com.br
// Para usar este script legalmente, mantenha este cabecalho  
// -----------------------------------------------------------------
// Ver    Data    Descricao da alteracao
// --- ---------- --------------------------------------------------
// 1.0 2000/04/27 Original 
//
// -----------------------------------------------------------------
function IsCPFValid(FormName, ElemName, ElemCaption){

	document.forms[FormName].elements[ElemName].value = formatDoc(FormName, ElemName, 'cpf', 'banco');

	var ok = 'sim';
	var ParteString;
	var Mensagem;
	var CampoTeste = document.forms[FormName].elements[ElemName];
	var CampoSemBrancos;
	CharValido = '0123456789'

	//Monta campo sem brancos
	CampoSemBrancos = "";
	for (var i=0; i < CampoTeste.value.length; i++) {
  if (CampoTeste.value.substring(i, i+1) != ' ') {
  CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1);
  }
	}

	//Se campo estiver vazio
	if (CampoSemBrancos == '')     {  
  Mensagem = 'Por favor, preencha o campo ' + ElemCaption 
  alert(Mensagem)
  CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
  CampoTeste.select();
  CampoTeste.focus()
  return false;
	}

	//Se estiver preenchido, testar os caracteres
	ParteString = "";
	for (var i=0; i < CampoTeste.value.length; i++) {
  ParteString = "" + CampoTeste.value.substring(i, i+1);
  if (CharValido.indexOf(ParteString) == "-1") {
  	ok = "não";
  }
	}

	if (ok == "não") {
  alert("Caracteres inválidos! Preencha somente com números!");
  CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
	}
	if (CampoTeste.value.length != 11){
  alert("Por Favor, Preencha  com 11 números!");
  CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
	}

	//Calculo de consistencia do CPF
	var soma
	var CPFCalculado
	var CPFDigito

	CPFCalculado = CampoTeste.value.substring(0,9);
	soma = 0;
	for (var i=0; i < 9; i++) {
  soma = soma + CPFCalculado.substring(i, i+1) * (10 - i)
	}

	CPFDigito = 11  - (soma % 11);
	if (CPFDigito > 9){
  CPFCalculado = CPFCalculado + '0';
	}
	else{
  CPFCalculado = CPFCalculado + String(CPFDigito);
	}
	soma = 0;
	for (i=0;i < 10; i++){
  soma = soma + CPFCalculado.substring(i, i+1) * (11 - i)
	} 
	CPFDigito = 11  - (soma % 11);
	if (CPFDigito > 9){
  CPFCalculado = CPFCalculado + '0';
	}
	else{
  CPFCalculado = CPFCalculado + String(CPFDigito);
	}

	if (
  (CampoTeste.value != CPFCalculado)
  ||(CampoTeste.value == '11111111111')
  ||(CampoTeste.value == '22222222222')
  ||(CampoTeste.value == '33333333333')
  ||(CampoTeste.value == '44444444444')
  ||(CampoTeste.value == '55555555555')
  ||(CampoTeste.value == '66666666666')
  ||(CampoTeste.value == '77777777777')
  ||(CampoTeste.value == '88888888888')
  ||(CampoTeste.value == '99999999999')
  ){
  //alert("CPF Inválido! Digite novamente! " + String(CPFCalculado));
  alert("CPF Inválido! Digite novamente! ");
  CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
	}	
	CampoTeste.value = formatDoc(FormName, ElemName, "cpf", "tela");
	return true;
}
//  End -->
CNPJ:
<!------------- Begin
// -----------------------------------------------------------------
// Funcao    : IsCNPJValid
// Linguagem   : JavaScript
// Descricao   : Verifica a validade de um CNPJ
// Copyright   : (c) 2000 ADF Consulting - Silvio N Hirashiki
// http://www.adfcon.com.br
// Para usar este script legalmente, mantenha este cabecalho  
// -----------------------------------------------------------------
// Ver    Data    Descricao da alteracao
// --- ---------- --------------------------------------------------
// 1.0 2000/07/12 Original 
//
// -----------------------------------------------------------------

function IsCNPJValid(FormName, ElemName, ElemCaption){

	document.forms[FormName].elements[ElemName].value = formatDoc(FormName, ElemName, "cnpj", "banco");

	var ok = "sim";
	var ParteString;
	var Mensagem;
	var CampoTeste = document.forms[FormName].elements[ElemName];
	var CampoSemBrancos;

	CharValido = '0123456789'


	//Monta campo sem brancos
	CampoSemBrancos = "";
	for (var i=0; i < CampoTeste.value.length; i++) {
  if (CampoTeste.value.substring(i, i+1) != ' ') {
  CampoSemBrancos = CampoSemBrancos + CampoTeste.value.substring(i, i+1);
  }
	}

	//Se campo estiver vazio
	if (CampoSemBrancos == '')     {  
  Mensagem = 'Por favor, preencha o campo ' + ElemCaption 
   alert(Mensagem)
  CampoTeste.value = formatDoc(FormName, ElemName, "cnpj", "tela");
  CampoTeste.select();
  CampoTeste.focus()
  return false;
   }

	//Se estiver preenchido, testar os caracteres
	ParteString = "";
	for (var i=0; i < CampoTeste.value.length; i++) {
  ParteString = "" + CampoTeste.value.substring(i, i+1);
  if (CharValido.indexOf(ParteString) == "-1") {
  	ok = "não";
  }
	}

	if (ok == "não") {
  alert("Caracteres inválidos! Preencha somente com números!");
  CampoTeste.value = formatDoc(FormName, ElemName, "cnpj", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
   }


	if (CampoTeste.value.length != 14){
  alert("Por Favor, Preencha  com 14 números!");
  CampoTeste.value = formatDoc(FormName, ElemName, "cnpj", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
   }
  
//Calculo de consistencia do CNPJ

	var soma
	var CNPJCalculado
	var CNPJDigito

	CNPJCalculado = CampoTeste.value.substring(0,12);
	soma = 0;

	for (var i=0; i < 4; i++) {
  soma = soma + CNPJCalculado.substring(i, i+1) * (5 - i)
	}

	for (var i=0; i < 8; i++) {
  soma = soma + CNPJCalculado.substring(i+4, i+5) * (9 - i)
	}

	CNPJDigito = 11  - (soma % 11);


//  	FOR POSI  := 1 TO 9 DO
//       SOMACPF := SOMACPF + STRTOINT(COPY(CPFCALC,POSI,1))*(11-POSI);

	if (CNPJDigito > 9){
  CNPJCalculado = CNPJCalculado + '0';
	}
	else{
  CNPJCalculado = CNPJCalculado + String(CNPJDigito);
	}

	soma = 0;
      
   for (var i=0; i < 5; i++) {
  soma = soma + CNPJCalculado.substring(i, i+1) * (6 - i)
	}

	for (var i=0; i < 8; i++) {
  soma = soma + CNPJCalculado.substring(i+5, i+6) * (9 - i)
	}     
   
	CNPJDigito = 11  - (soma % 11);
   
	if (CNPJDigito > 9){
  CNPJCalculado = CNPJCalculado + '0';
	}
	else{
  CNPJCalculado = CNPJCalculado + String(CNPJDigito);
	}


	if (CampoTeste.value != CNPJCalculado){
  alert("CNPJ Inválido! Digite novamente! " );
  CampoTeste.value = formatDoc(FormName, ElemName, "cnpj", "tela");
  CampoTeste.select();
  CampoTeste.focus();
  return false;
	}	

	//CampoTeste.value = formatDoc(FormName, ElemName, "cnpj", "tela");
	return true;

}
//  End -->

Chame estas funções como quiser... no onBlur(), onSubmit(), etc.

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...