Portuguese 🇧🇷 | English 🇺🇸
The @utils-fns/validators library was developed to be part of a larger library, @utils-fns, which is being developed with the aim of providing unified tools that facilitate the daily tasks of programmers. Our motivation is to simplify common tasks, such as validators , value masking, sorting, search and conversion methods, offering a comprehensive and efficient solution that makes possible the use of this set of libraries in web - mobile - service environments.
Validators: The @utils-fns/validators
library provides the following validators:
Applications with javascript ES6 or higher
Modern browsers
Server-side
Electron
Mobile
If you want to install the complete module, follow the documents in the @utils-fns/utils-fns .
To install the @utils-fns/validators library: use your preferred package manager
yarn add @utils - fns / validators
or
npm install @utils - fns / validators
To access the features, just follow the example:
//ES6
import { validators } from "@utils-fns/validators" ;
//CommomJS
const { validators } = require ( "@utils-fns/validators" ) ;
So, just choose which validation tool will be used.
const cpfValidation = validators . cpf ( '64912007013' )
//return true
@utils-fns/validators
is written in TypeScript with complete definitions.
Method
Params
Type
cpf
cpf
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . cpf ( '64912007013' )
//✅ return true
validators . cpf ( '649.120.070-13' )
//✅ return true
validators . cpf ( '01234598329' )
//❌ return false
Method
Params
Type
nis
nis
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . nis ( '90152083257' )
//✅ return true
validators . nis ( '901.52083.25-7' )
//✅ return true
validators . nis ( '00000000000' )
//❌ return false
Method
Params
Type
email
email
string | undefined
email
paramsEmailValidator.minMaxUserNameEmail.min
number | undefined
email
paramsEmailValidator.minMaxUserNameEmail.max
number | undefined
email
paramsEmailValidator.minMaxEmailDomain.min
number | undefined
email
paramsEmailValidator.minMaxEmailDomain.max
number | undefined
email
paramsEmailValidator.emailDomainName
RegExp | undefined
import { validators } from "@utils-fns/validators" ;
validators . email ( { email : 'foobar@validator.com' } )
//✅ return true
validators . email ( { email : 'fóobar@validatior.com' } )
//❌ return false
validators . email ( {
email : 'foobar@gmail.com' ,
paramsEmailValidator : {
emailDomainName : RegExp ( / (gmail.com|hotmail.com)/ )
} ,
} )
//✅ return true
validators . email ( {
email : 'foobar@validator.com' ,
paramsEmailValidator : {
emailDomainName : RegExp ( / (gmail.com|hotmail.com)/ )
} ,
} )
//❌ return false
Method
Params
Type
cnpj
cnpj
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . cnpj ( '22014929000102' )
//✅ return true
validators . cnpj ( '22.014.929/0001-02' )
//✅ return true
validators . cnpj ( '01234569841234' )
//❌ return false
Method
Params
Type
phone
phone
string | undefined
phone
paramsPhoneValidator.onlyMobilePhoneBR
boolean | undefined
phone
paramsPhoneValidator.canReceiveInternationalNumbers
boolean | undefined
phone
paramsPhoneValidator.customPatternPhone.coutryCode
RegExp
phone
paramsPhoneValidator.customPatternPhone.areaStateCode
RegExp
phone
paramsPhoneValidator.customPatternPhone.phoneNumber
RegExp
phone
paramsPhoneValidator.publicUtilityNumberBR
boolean | undefined
phone
paramsPhoneValidator.numberWithoutCodeAreas
boolean | undefined
import { validators } from "@utils-fns/validators" ;
validators . phone ( { phone : '(63) 92102-2418' } )
//✅ return true
validators . phone ( { phone : '63921022418' } )
//✅ return true
validators . phone ( { phone : '988283' } )
//❌ return false
validators . phone ( { phone : '190' , {
publicUtilityNumberBR : true
} } )
//✅ return true
validators . phone ( { phone : '(11) 99385-3318' , {
numberWithoutCodeAreas : true
} } )
//❌ return false
validators . phone ( { phone : '66934451006' , {
canReceiveInternationalNumbers : true ,
customPatternPhone : {
coutryCode : RegExp ( / 66/ ) ,
areaStateCode : RegExp ( / 9{0,1}/ ) ,
phoneNumber : RegExp ( / ([2-9]{1}\d{6,7})$/ ) ,
}
}
} )
//✅ return true
validators . phone ( { phone : '+1 (541) 708-3275' , {
canReceiveInternationalNumbers : true
}
} )
//✅ return true
Method
Params
Type
paymentCard
cardNumber
string | undefined
paymentCard.isValid
paramsPaymentCardValidator.validationTypeCard
credit | debit | credit-debit | undefined
paymentCard.isValid
paramsPaymentCardValidator.specificBrandCard
american-express | diners-club | discover | elo | hiper | hipercard | jcb | maestro | mastercard | mir | unionpay | visa | visa-electron | undefined
paymentCard.isValid
paramsPaymentCardValidator.customPatternPaymentCard
RegExp | undefined
paymentCard.getData
-
-
import { validators } from "@utils-fns/validators" ;
validators . paymentCard ( { cardNumber : '4024 0071 6435 7039' } ) . getData ( )
//✅ return {
// bankDigits: '4',
// bankName: 'Visa',
// cardNumber: '4024 0071 6435 7039',
// isValid: true,
// }
validators . paymentCard ( { cardNumber : '4024 0071 6435 7039' } ) . isValid ( )
//✅ return true
validators . paymentCard ( { cardNumber : '4124007164357039' } ) . isValid ( {
customPatternPaymentCard : RegExp ( / ^4[0-2](\d{14})$/ ) ,
} )
//✅ return true
validators . paymentCard ( { cardNumber : '3014 842898 5841' } ) . isValid ( {
specificBrandCard : 'diners-club' ,
} )
//✅ return true
validators . paymentCard ( { cardNumber : '3014 842898 5841' } ) . isValid ( {
specificBrandCard : 'visa' ,
} )
//❌ return false
Method
Params
Type
paymentSlip
digits
string | undefined
paymentSlip.isValid
paramsPaymentSlipValidator.validByBank
BankCode | BankName | undefined
paymentSlip.isValid
paramsPaymentSlipValidator.validSegmentType
Taxas Municipais | Taxas de Saneamento | Taxas de Energia Elétrica e Gás | Taxas de Telecomunicações | Taxas de Órgãos Governamentais | Taxas de Trânsito | Uso Exclusivo dos Bancos | Pagamento de Boletos Bancários | Outros | undefined
paymentSlip.isValid
paramsPaymentSlipValidator.validByPrice
string | number | undefined
paymentSlip.isValid
paramsPaymentSlipValidator.validByDate
string | Date | undefined
paymentSlip.isValid
paramsPaymentSlipValidator.validByTypeOfPaymentSlip
Boleto Bancário
paymentSlip.isValid
paramsPaymentSlipValidator.validByIfIsBarCodeOrTypeableLine
Cód. Barras | Linha Digitável | undefined
paymentSlip.getData
-
-
import { validators } from "@utils-fns/validators" ;
validators . paymentSlip ( { digits : '65591942700000005000000000442500009390032700' } ) . getData ( )
//✅ return {
// bankCode: '655',
// bankName: 'Banco Votorantim S.A.',
// barCodeOrTypeableLine: 'Cód. Barras',
// digits: '65591942700000005000000000442500009390032700',
// expirationDate: '30/07/2023',
// price: '5.00',
// segmentPaymentSplip: 'Pagamento de Boletos Bancários',
// typeOfPaymentSlip: 'Boleto Bancário',
// isValid: true,
// }
validators . paymentSlip ( { digits : '65591942700000005000000000442500009390032700' } ) . isValid ( )
//✅ return true
validators . paymentSlip ( { digits : '65591942700000005000000000442500009390032700' } ) . isValid ( {
validByTypeOfPaymentSlip : 'Boleto Bancário'
} )
//✅ return true
validators . paymentSlip ( { digits : '65591942700000005000000000442500009390032700' } ) . isValid ( {
validByTypeOfPaymentSlip : 'Boleto de Arrecadação'
} )
//❌ return false
validators . paymentSlip ( { digits : '84610000000319901090110049617944480805321901' } ) . isValid ( {
validByPrice : '31.99' ,
validSegmentType : 'Taxas de Telecomunicações' ,
validByIfIsBarCodeOrTypeableLine : 'Cód. Barras' ,
validByTypeOfPaymentSlip : 'Boleto de Arrecadação' ,
} )
//✅ return true
validators . paymentSlip ( { digits : '65590000020044250000594059050008194290000006050' } ) . isValid ( {
validByBank : '655' ,
validByDate : '08-01-2023' ,
validByPrice : 60.5 ,
validSegmentType : 'Pagamento de Boletos Bancários' ,
validByIfIsBarCodeOrTypeableLine : 'Linha Digitável' ,
validByTypeOfPaymentSlip : 'Boleto Bancário' ,
} )
//✅ return true
State Registration Validator
Method
Params
Type
stateRegistrationValidator
digits
string | undefined
stateRegistrationValidator
uf
AC | AL | AP | AM | BA | CE | DF | ES | GO | MA | MT | MS | MG | PA | PB | PR | PE | PI | RJ | RN | RS | RO | RR | SC | SP | SE | TO
import { validators } from "@utils-fns/validators" ;
validators . stateRegistrationValidator ( { digits : '746943024' , uf : 'PB' } )
//✅ return true
validators . stateRegistrationValidator ( { digits : '746943024' , uf : 'SP' } )
//❌ return false
Voter Registration Validator
Method
Params
Type
voterRegistrationValidation
digits
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . voterRegistration ( '613752510213' )
//✅ return true
validators . voterRegistration ( '0123.4567.8901' )
//❌ return false
Method
Params
Type
cnh
cnh
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . cnh ( '45426105401' )
//✅ return true
validators . cnh ( '703417160228787182' )
//❌ return false
Method
Params
Type
renavamValidator
renavam
string | undefined
import { validators } from "@utils-fns/validators" ;
validators . renavam ( '08804737318' )
//✅ return true
validators . renavam ( '703417160228787182' )
//❌ return false
Method
Params
Type
cep
cep
string | undefined
cep.isValid
-
-
cep.getData
signal
AbortSignal | null | undefined
import { validators } from "@utils-fns/validators" ;
validators . cep ( '01001000' ) . isValid ( )
//✅ return true
await validators . cep ( '01001000' ) . getData ( )
//✅ return {
// estado: 'São Paulo',
// uf: 'SP',
// complemento: '- lado ímpar',
// cep: '01001-000',
// cidade: 'São Paulo',
// bairro: 'Sé',
// logradouro: 'Praça da Sé',
// enderecoPostal: 'Praça da Sé, lado ímpar, Sé, 01001-000, São Paulo/SP',
// isValid: true,
// }
Caio Queiroz
This API is licensed MIT .