<!--
function valida_cpf(cpf)
{
 cpf = alltrim(cpf);
 var filtro = /[0-9]/;
 for(x=0; x<cpf.length; x++)
 {
  //  Verifica existência de caracteres não numéricos.
  if (! cpf.substr(x,1).match(filtro))  // caractere inválido.
  {
   return false;
  } 
 } 
 // Mínimo de 11 caracteres para o CPF.
 if (cpf.length < 11)
 {
  return false; 
 }

 var soma = 0;
 for (i=0;i<9; i++)
 {
  soma += (parseInt(cpf.substr(i,1),10) * (10-i))
 }
 valor = parseInt((soma/11),10) * 11 ;
 resultado = soma - valor; 

 /*
  Calcula o 1º dígito verificador.
  Se resultado = 1 ou = 0 então o 1º dígito verificador deve ser = 0.
 */
 if (resultado < 2) {dig_1 = 0}
 else {dig_1 = 11-resultado}

 /*
  Calcula o 2º dígito verificador. 
 */
 soma = 0;
 for (i=0; i<9; i++)
 {
  soma += (parseInt(cpf.substr(i,1),10) * (11-i)) 
 }
 soma += (dig_1*2)  
 valor = parseInt((soma/11)) * 11 
 resultado = soma - valor 
 if (resultado <2){dig_2 =0}
 else {dig_2 = 11-resultado}
 
 /*
  Finalmente compara os dois dígitos de verificação.
 */

 if (parseInt(cpf.substr(9,1),10) != parseInt(dig_1,10) || parseInt(cpf.substr(10,1),10) != parseInt(dig_2,10))
 {
  return false;
 } 
 return true;
}
//-->
