Validates and formats brazilian values, like money (BRL), CPF, CNPJ, dates etc.
This module is published under NPM registry, so you can install using any Node.js package manager.
npm install brazilian-values --save
# For Yarn use the command below.
yarn add brazilian-values
brazilian-values
provides functions to deal with formatting, validating and parsing brazilian values. All those functions could be imported from package.
import { isCNPJ, formatToCNPJ } from 'brazilian-values';
const value = '12727442000113'
if (!isCNPJ(value))
throw new Error('CNPJ is not valid.');
const document = formatToCNPJ(value);
//=> '12.727.442/0001-13'
Formats numbers or texts containing numbers to brazilian currency (BRL).
formatBRL(1928.93)
//=> 'R$ 1.928,93'
formatToBRL('9211928.18203')
//=> 'R$ 9.211.928,18'
formatToBRL(-18.49)
//=> 'R$ -18,49'
Formats a text containing numbers to CEP.
formatToCEP('15998030')
//=> '15998-030'
formatToCEP('02999')
//=> '02999'
Formats a text containing numbers to CNPJ.
formatToCNPJ('128781')
//=> '12.878.1'
formatToCNPJ('32284981000138')
//=> '32.284.981/0001-38'
formatToCNPJ('00.0.000.00.00--00-00')
//=> '00.000.000/0000-00'
Formats a text containing numbers to CPF.
formatToCPF('00000000')
//=> '000.000.00'
formatToCPF('00000000000')
//=> '000.000.000-00'
formatToCPF('366.418.768-70')
//=> '366.418.768-70'
Formats a Date
instance to brazilian formatted date.
formatToDate(new Date(2002, 7, 21))
//=> '21/08/2002'
formatToDate(new Date())
//=> '08/09/2018'
Formats a text containing numbers to common brazilian phone.
formatToPhone('11')
//=> '(11'
formatToPhone('11971626')
//=> '(11) 9716-26'
formatToPhone('11971626799')
//=> '(11) 9 7162-6799'
Formats a text containing numbers to RG, specifying the state.
Today,
brazilian-values
supports only SP and RJ formats. Other values are just scaped to input.
formatToRG('00000000A', 'SP')
//=> '00.000.000-A'
formatToRG('00.00.0000-0', 'RJ')
//=> '00.000.000-0'
formatToRG('MG-14.808.688', 'MG')
//=> 'MG-14.808.688'
Parses a brazilian formated date to a Date instance.
Throws an error if value does not match brazilian date format and if value is an invalid date.
parseToDate('28/03/1996')
//=> '1996-03-28T03:00:00.000Z'
parseToDate('31/02/2018')
//=> throws Error('Value "31/02/2018" is an invalid date.')
Validates if value is a CNPJ.
isCNPJ('41142260000189')
//=> true
isCNPJ('45.723.174/0001-10')
//=> true
isCNPJ('411407182')
//=> false
isCNPJ('11.111.111/1111-11')
//=> false
Validates if values is a CPF.
isCPF('366.418.768-70')
//=> true
isCPF('36641876870')
//=> true
isCPF('213.198.013-20')
//=> false
isCPF('2131201872781')
//=> false
isCPF('11111111111')
//=> false
Validates if value matches brazilian date format and is a valid date.
isDate('03/08/2017')
//=> true
isDate('28/13/2017')
//=> false
isDate('03-08-2017')
//=> false
isDate('31/03/18')
//=> false
Validates if value matches brazilian date format.
isDatePattern('28/03/2017')
//=> true
isDatePattern('31/13/2017')
//=> true
isDatePattern('28-03-2017')
//=> false
isDatePattern('28/03/18')
//=> false
Released under MIT license.