10.0.0 • Published 2 years ago
@utils-fns/validators v10.0.0
@utils-fns/validators
README versions
Features
Validators: The @utils-fns/validators
library provides the following validators:
- cpfValidator
- nisValidator
- emailValidator
- cnpjValidator
- phoneValidator
- paymentCardValidator (luhn algorithm)
- paymentSlipValidator (ITF-14)
- stateRegistrationValidator (inscrição estadual - BR)
- voterRegistrationValidator (título de eleitor - BR)
- cnhValidator
- renavamValidator
- cepValidator (cep - BR)
🖥 Environment Support
- Applications with javascript ES6 or higher
- Modern browsers
- Server-side
- Electron
- Mobile
📦 Install
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
🔨 How to use
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
Typescript
@utils-fns/validators
is written in TypeScript with complete definitions.
Cpf Validator
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
Nis Validator
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
Email Validator
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
Cnpj Validator
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
Phone Validator
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
PaymentCard Validator
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
PaymentSlip Validator
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 | Boleto de Arrecadação | undefined |
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
Cnh Validator
Method | Params | Type |
---|---|---|
cnh | cnh | string | undefined |
import { validators } from "@utils-fns/validators";
validators.cnh('45426105401')
//✅ return true
validators.cnh('703417160228787182')
//❌ return false
Renavam Validator
Method | Params | Type |
---|---|---|
renavamValidator | renavam | string | undefined |
import { validators } from "@utils-fns/validators";
validators.renavam('08804737318')
//✅ return true
validators.renavam('703417160228787182')
//❌ return false
Cep Validator
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,
// }
Author
License
This API is licensed MIT.
5.0.0
2 years ago
8.0.0
2 years ago
10.0.0
2 years ago
6.0.0
2 years ago
4.0.0
2 years ago
7.0.0
2 years ago
9.0.0
2 years ago
3.4.0
2 years ago
3.3.0
2 years ago
3.2.0
2 years ago
3.1.1
2 years ago
3.1.0
2 years ago
3.0.3
2 years ago
3.0.2
2 years ago
3.0.1
2 years ago
2.2.0
2 years ago
2.1.0
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.0.1
2 years ago
1.0.0
2 years ago