
Olá pessoal, Alguém conhece algum código em R para verificar a consistência do número do CPF ? Obrigado -- Wagner S. Tassinari Departamento de Matemática Universidade Federal Rural do Rio de Janeiro. BR-465, Km 7 - Seropedica, RJ - Brasil CEP: 23890-000 Skype: wagner.tassinari wtassinari@gmail.com tassinari@ufrrj.br ------------------------------------------------------- "Statistical thinking will one day be as necessary for efficient citizenship as the ability to read and write." (H.G.Wellis)

Wagner, boa tarde! Você pode adaptar de outras linguagens. No link que segue está bem fácil de entender: <http://www.devmedia.com.br/validando-o-cpf-em-uma-aplicacao-java/22097> Fiz um primeiro exercício, mas não posso garantir que esteja plenamente funcional. Sugiro apenas como ponto de partida. Quem quiser melhorar o código é bem-vindo. ### <code r> isCPF <- function(cpf.str) { cpf <- gsub('[^[:digit:]]+', '', cpf.str) ### primeiro dígito verificador: cpf.1 <- as.numeric(strsplit(substr(cpf, 1,9), "")[[1]]) sm.1 <- sum(cpf.1 * 10:2) ### 249 dig.1 <- ifelse((sm.1 %% 11)==0 | (sm.1 %% 11)>9, 0, 11-(sm.1 %% 11)) ### 4 ### se o resto da divisão for 10 ou 11, o dígito será 0; ### segundo dígito verificador: cpf.2 <- as.numeric(strsplit(substr(cpf, 1,10), "")[[1]]) sm.2 <- sum(cpf.2 * 11:2) ### 299 dig.2 <- ifelse((sm.2 %% 11)==0 | (sm.2 %% 11)>9, 0, 11-(sm.2 %% 11)) ### 9 ### testa dígitos calculados ver <- paste0(dig.1, dig.2) == substr(cpf, 10,11) return(ver); print(ver) } isCPF("546.471.429-49") ### TRUE isCPF("546.471.429-99") ### FALSE ### </code> ================================================ Éder Comunello PhD Student in Agricultural Systems Engineering (USP/Esalq) Brazilian Agricultural Research Corporation (Embrapa) Dourados, MS, Brazil [22 16.5'S, 54 49.0'W] Em 27 de janeiro de 2016 12:12, Wagner Tassinari <wtassinari@gmail.com> escreveu:
Olá pessoal,
Alguém conhece algum código em R para verificar a consistência do número do CPF ?
Obrigado
-- Wagner S. Tassinari Departamento de Matemática Universidade Federal Rural do Rio de Janeiro. BR-465, Km 7 - Seropedica, RJ - Brasil CEP: 23890-000 Skype: wagner.tassinari wtassinari@gmail.com tassinari@ufrrj.br ------------------------------------------------------- "Statistical thinking will one day be as necessary for efficient citizenship as the ability to read and write." (H.G.Wellis)
_______________________________________________ R-br mailing list R-br@listas.c3sl.ufpr.br https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça código mínimo reproduzível.
participantes (2)
-
Wagner Tassinari
-
Éder Comunello