UNPKG

@sjsilva-libs/validation

Version:

Validação de CNPJ e CPF

20 lines (16 loc) 587 B
export function isCPF(cpf: string | null | undefined): boolean { if (!cpf) return false cpf = cpf.replace(/[.-]/g, '') if (cpf.length !== 11 || /^(\d)\1{10}$/.test(cpf)) return false let sum = 0, rest for (let i = 1; i <= 9; i++) sum += parseInt(cpf[i - 1]) * (11 - i) rest = (sum * 10) % 11 if (rest === 10 || rest === 11) rest = 0 if (rest !== parseInt(cpf[9])) return false sum = 0 for (let i = 1; i <= 10; i++) sum += parseInt(cpf[i - 1]) * (12 - i) rest = (sum * 10) % 11 if (rest === 10 || rest === 11) rest = 0 return rest === parseInt(cpf[10]) }