Skip to content

Instantly share code, notes, and snippets.

@alexpvieira
Created April 2, 2018 13:07
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alexpvieira/09216fa626c0423f660c935be6c32f1a to your computer and use it in GitHub Desktop.
Save alexpvieira/09216fa626c0423f660c935be6c32f1a to your computer and use it in GitHub Desktop.
Validate CPF
export default function validateCPF(strCPF) {
let sum = 0
let rest
if (strCPF == "00000000000") return false
for (let i = 1; i <= 9; i++) sum = sum + parseInt(strCPF.substring(i-1, i)) * (11 - i)
rest = (sum * 10) % 11
if ((rest == 10) || (rest == 11)) rest = 0
if (rest != parseInt(strCPF.substring(9, 10)) ) return false
sum = 0
for (let i = 1; i <= 10; i++) sum = sum + parseInt(strCPF.substring(i-1, i)) * (12 - i)
rest = (sum * 10) % 11
if ((rest == 10) || (rest == 11)) rest = 0
if (rest != parseInt(strCPF.substring(10, 11) ) ) return false
return true
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment