10.0.0 • Published 2 years ago

@utils-fns/validators v10.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

@utils-fns/validators

npm License Repository

README versions

Portuguese 🇧🇷 | English 🇺🇸

Features

Validators: The @utils-fns/validators library provides the following validators:

🖥 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

MethodParamsType
cpfcpfstring | 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

MethodParamsType
nisnisstring | 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

MethodParamsType
emailemailstring | undefined
emailparamsEmailValidator.minMaxUserNameEmail.minnumber | undefined
emailparamsEmailValidator.minMaxUserNameEmail.maxnumber | undefined
emailparamsEmailValidator.minMaxEmailDomain.minnumber | undefined
emailparamsEmailValidator.minMaxEmailDomain.maxnumber | undefined
emailparamsEmailValidator.emailDomainNameRegExp | 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

MethodParamsType
cnpjcnpjstring | 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

MethodParamsType
phonephonestring | undefined
phoneparamsPhoneValidator.onlyMobilePhoneBRboolean | undefined
phoneparamsPhoneValidator.canReceiveInternationalNumbersboolean | undefined
phoneparamsPhoneValidator.customPatternPhone.coutryCodeRegExp
phoneparamsPhoneValidator.customPatternPhone.areaStateCodeRegExp
phoneparamsPhoneValidator.customPatternPhone.phoneNumberRegExp
phoneparamsPhoneValidator.publicUtilityNumberBRboolean | undefined
phoneparamsPhoneValidator.numberWithoutCodeAreasboolean | 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

MethodParamsType
paymentCardcardNumberstring | undefined
paymentCard.isValidparamsPaymentCardValidator.validationTypeCardcredit | debit | credit-debit | undefined
paymentCard.isValidparamsPaymentCardValidator.specificBrandCardamerican-express | diners-club | discover | elo | hiper | hipercard | jcb | maestro | mastercard | mir | unionpay | visa | visa-electron | undefined
paymentCard.isValidparamsPaymentCardValidator.customPatternPaymentCardRegExp | 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

MethodParamsType
paymentSlipdigitsstring | undefined
paymentSlip.isValidparamsPaymentSlipValidator.validByBankBankCode | BankName | undefined
paymentSlip.isValidparamsPaymentSlipValidator.validSegmentTypeTaxas 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.isValidparamsPaymentSlipValidator.validByPricestring | number | undefined
paymentSlip.isValidparamsPaymentSlipValidator.validByDatestring | Date | undefined
paymentSlip.isValidparamsPaymentSlipValidator.validByTypeOfPaymentSlipBoleto BancárioBoleto de Arrecadação | undefined
paymentSlip.isValidparamsPaymentSlipValidator.validByIfIsBarCodeOrTypeableLineCó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

MethodParamsType
stateRegistrationValidatordigitsstring | undefined
stateRegistrationValidatorufAC | 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

MethodParamsType
voterRegistrationValidationdigitsstring | undefined
  import { validators } from "@utils-fns/validators";

  validators.voterRegistration('613752510213')
  //✅ return true

  validators.voterRegistration('0123.4567.8901')
  //❌ return false

Cnh Validator

MethodParamsType
cnhcnhstring | undefined
  import { validators } from "@utils-fns/validators";

  validators.cnh('45426105401')
  //✅ return true

  validators.cnh('703417160228787182')
  //❌ return false

Renavam Validator

MethodParamsType
renavamValidatorrenavamstring | undefined
  import { validators } from "@utils-fns/validators";

  validators.renavam('08804737318')
  //✅ return true

  validators.renavam('703417160228787182')
  //❌ return false

Cep Validator

MethodParamsType
cepcepstring | undefined
cep.isValid--
cep.getDatasignalAbortSignal | 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

Linkedin Badge Gmail Badge

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