npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@utils-fns/validators

v10.0.0

Published

![npm](https://img.shields.io/npm/v/@utils-fns/validators) [![License](https://img.shields.io/github/license/ccqueiroz/utils-fns)](LICENSE) [![Repository](https://img.shields.io/badge/repository-GitHub-blue.svg)](https://github.com/ccqueiroz/utils-fn) ##

Downloads

72

Readme

@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

| 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: '[email protected]' })
  //✅ return true

  validators.email({ email: 'fó[email protected]' })
  //❌ return false

  validators.email({
    email: '[email protected]',
    paramsEmailValidator: {
      emailDomainName: RegExp(/(gmail.com|hotmail.com)/)
    },
  })
  //✅ return true

  validators.email({
    email: '[email protected]',
    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

Linkedin Badge Gmail Badge

License

This API is licensed MIT.