This package does some CPF magic. It allows you to create, validate and format CPF documents.
HINT: Check out the CNPJ counter part available at https://github.com/fnando/cnpj.
This lib is available as a NPM package. To install it, use the following command:
npm install @fnando/cpf --save If you're using Yarn (and you should):
yarn add @fnando/cpf // Node.js-specific const cpf = require("@fnando/cpf/commonjs"); // @import import * as cpf from "@fnando/cpf"; // import the whole library import { isValid as isValidCpf } from "@fnando/cpf"; // import just one function // import via <script>; the lib will available as window.CPF // <script src="cpf.js"></script> cpf.isValid("532.820.857-96"); //=> true cpf.isValid("53282085796"); //=> true cpf.strip("532.820.857-96"); //=> 53282085796 cpf.format("53282085796"); //=> 532.820.857-96 cpf.generate(true); // generate formatted number //=> 838.684.734-40 cpf.generate(); // generate unformatted number //=> 72777632898On the web, without transformation, just use web/cpf.min.js.
By default, validations will strip any characters you provide. This means that the following is valid, because only numbers will be considered:
cpf.isValid("101#688!!!!!!542......36"); //=> true cpf.strip("101#688!!!!!!542......36"); //=> 10168854236If you want to strict validate strings, use the following signature:
cpf.isValid(number, strict);The same example would now return false:
cpf.isValid("101#688!!!!!!542......36", true); //=> false