function isValidCPF(strCPF) {
  var strParte  = strCPF.substring(0,  9);
  var strDV     = strCPF.substring(9, 11);
  var intDigito = 0; 

  //Verificar tamanho
  if (strCPF.length < 11)
    return false;

  //Calcular o 1o dígito
  for (var i = 0; i < 9; i++)
    intDigito += strParte.charAt(i) * (10 - i);

  if (intDigito == 0)
    return false; 

  intDigito = 11 - (intDigito % 11);

  if (intDigito > 9)
    intDigito = 0;

  if (strDV.charAt(0) != intDigito)
    return false;

  //Calcular o 2o dígito
  intDigito *= 2;

  for (var i = 0; i < 9; i++)
    intDigito += strParte.charAt(i) * (11 - i);

  intDigito = 11 - (intDigito % 11);

  if (intDigito > 9)
    intDigito = 0;

  if (strDV.charAt(1) != intDigito)
    return false;

  //ok
  return true;
}

