10.0.0 • Published 9 months ago

@utils-fns/validators v10.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
9 months 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

9 months ago

8.0.0

9 months ago

10.0.0

9 months ago

6.0.0

9 months ago

4.0.0

9 months ago

7.0.0

9 months ago

9.0.0

9 months ago

3.4.0

10 months ago

3.3.0

10 months ago

3.2.0

10 months ago

3.1.1

10 months ago

3.1.0

11 months ago

3.0.3

11 months ago

3.0.2

11 months ago

3.0.1

11 months ago

2.2.0

11 months ago

2.1.0

11 months ago

2.0.1

11 months ago

2.0.0

11 months ago

1.0.1

11 months ago

1.0.0

11 months ago