Skip to content

Instantly share code, notes, and snippets.

@marciok
Created April 27, 2018 19:30
Show Gist options
  • Save marciok/a4667f3dee9750ae0ffdd9eaacd2fdf4 to your computer and use it in GitHub Desktop.
Save marciok/a4667f3dee9750ae0ffdd9eaacd2fdf4 to your computer and use it in GitHub Desktop.
function validarCPF(cpf) { 
    cpf = cpf.replace(/[^\d]+/g,'');   
    if(cpf == '') return false;
    // Elimina CPFs invalidos conhecidos   
    if (cpf.length != 11 ||
        cpf == "00000000000" ||
        cpf == "11111111111" ||
        cpf == "22222222222" ||
        cpf == "33333333333" ||
        cpf == "44444444444" ||
        cpf == "55555555555" ||
        cpf == "66666666666" ||
        cpf == "77777777777" ||
        cpf == "88888888888" ||
        cpf == "99999999999")
            return false;      
    // Valida 1o digito
    add = 0;   
    for (i=0; i < 9; i ++)      
        add += parseInt(cpf.charAt(i)) * (10 - i); 
        rev = 11 - (add % 11); 
        if (rev == 10 || rev == 11)    
            rev = 0;   
        if (rev != parseInt(cpf.charAt(9)))    
            return false;      
    // Valida 2o digito
    add = 0;   
    for (i = 0; i < 10; i ++)       
        add += parseInt(cpf.charAt(i)) * (11 - i); 
    rev = 11 - (add % 11); 
    if (rev == 10 || rev == 11)
        rev = 0;   
    if (rev != parseInt(cpf.charAt(10)))
        return false;      
    return true;  
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment