node package manager

cpf_cnpj

Validate, generate and format CPF/CNPJ numbers

CPF/CNPJ

This package does some CPF/CNPJ magic. It allows you to create, validate and format CPF/CNPJ.

Using bower:

$ bower install cpf_cnpj --save

Using NPM:

$ npm install cpf_cnpj --save
// Node.js-specific 
var CPF = require("cpf_cnpj").CPF;
var CNPJ = require("cpf_cnpj").CNPJ;
 
CPF.isValid("532.820.857-96");
//=> 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 
//=> 72777632898 
 
//========================================================== 
 
CNPJ.isValid("41.381.074/6738-65");
//=> true 
 
CNPJ.strip("41.381.074/6738-65");
//=> 41381074673865 
 
CNPJ.format("41381074673865");
//=> 41.381.074/6738-65 
 
CNPJ.generate(true); // generate formatted number 
//=> 54.385.406/3140-07 
 
CNPJ.generate(); // generate unformatted number 
//=> 07033324230766 

By default, validations will strip any characters you provide. This means that the following is valid, because only numbers will be considered:

CNPJ.isValid("41#381#074-----6738\n\n65");
//=> true 
 
CNPJ.strip("41#381#074-----6738\n\n65");
//=> 41381074673865 

If you want to strict validate strings, use the following signature:

CPF.isValid(number, strict);
CNPJ.isValid(number, strict);

The same example would now return false:

CNPJ.isValid("41#381#074-----6738\n\n65", true);
//=> false 
  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am "Added some feature")
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request