function Verifica_cpf(formulario) {
var cpf = formulario.value; // Recebe o valor digitado no campo

// Verifica se o campo é nulo
if (cpf == '') {
  alert('Favor digitar seu CPF.');
  return false;
   }
   
if (cpf == 11111111111 ||
	cpf == 22222222222 ||
	cpf == 33333333333 ||
	cpf == 44444444444 ||
	cpf == 55555555555 ||
	cpf == 66666666666 ||
	cpf == 77777777777 ||
	cpf == 88888888888 ||
	cpf == 99999999999) {

		alert('CPF inválido. Favor verificar.');
		formulario.value = '';
		formulario.focus();
		return false;
}

// Aqui começa a checagem do CPF
var POSICAO, I, SOMA, DV, DV_INFORMADO;
var DIGITO = new Array(10);
DV_INFORMADO = cpf.substr(9, 2); // Retira os dois últimos dígitos do número informado

// Desemembra o número do CPF na array DIGITO
for (I=0; I<=8; I++) {
  DIGITO[I] = cpf.substr( I, 1);
}

// Calcula o valor do 10º dígito da verificação
POSICAO = 10;
SOMA = 0;
   for (I=0; I<=8; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[9] = SOMA % 11;
   if (DIGITO[9] < 2) {
        DIGITO[9] = 0;
}
   else{
       DIGITO[9] = 11 - DIGITO[9];
}

// Calcula o valor do 11º dígito da verificação
POSICAO = 11;
SOMA = 0;
   for (I=0; I<=9; I++) {
      SOMA = SOMA + DIGITO[I] * POSICAO;
      POSICAO = POSICAO - 1;
   }
DIGITO[10] = SOMA % 11;
   if (DIGITO[10] < 2) {
        DIGITO[10] = 0;
   }
   else {
        DIGITO[10] = 11 - DIGITO[10];
   }

// Verifica se os valores dos dígitos verificadores conferem
DV = DIGITO[9] * 10 + DIGITO[10];
   if (DV != DV_INFORMADO) {
      alert('CPF inválido. Favor verificar.');
      formulario.value = '';
      formulario.focus();
      return false;
   }
}
