GithubHelp home page GithubHelp logo

xakplant / utk-entrepreneur Goto Github PK

View Code? Open in Web Editor NEW

This project forked from utkonos-ru/utk-entrepreneur

0.0 0.0 0.0 124 KB

Библиотека функций валидации данных юридического лица

License: Other

JavaScript 47.07% TypeScript 52.93%

utk-entrepreneur's Introduction

Валидация данных юридического лица (utk-entrepreneur)

Библиотека функций валидации данных юридического лица

Установка

npm i --save @utkonos/entrepreneur

Возможности

функции включают в себя валидаторы данных:

  • БИК
  • Расчётный счёт
  • Корр. счёт
  • GS1
  • GLN (global location number)
  • ИНН (юр. лицо, физ.лицо/ИП)
  • КПП
  • ОГРН(ИП)
  • ОКАТО
  • OKPO

Описание методов

Любой метод представленный в библиотеки принимает значение и возвражает boolean

  • isBIK(value: string) - проверка значения на БИК
  • isPaymentAccount(value: string, bik: string) - проверка рассчётного счёта. Принимает собственное значение и значение БИК.
  • isCorrespondentAccount(value: string, bik: string) - проверка корреспондентского счёта. Принимает собственное значение и значение БИК.
  • isINN(value: string) - проверяет яляется ли значение ИНН независимо от типа владельца (физическое лицо или юридическое лицо).
  • isINNIndividual(value: string) - проверяет является ли значение ИНН физического лица.
  • isINNLegalEntity(value: string) - проверяет является ли значение ИНН юридического лица.
  • isOGRN(value: string) - проверяет является ли значение ОГРН (для юридических лиц).
  • isOGRNIP(value: string) - проверяет является ли значение ОГРНИП (для ИП).
  • isOKATO(value: string) - проверяет является ли значение ОКАТО.
  • isOKPO(value: string) - проверяет является ли значение ОКПО.
  • isGLN(value: string) - проверяет является ли значение GLN (global location number). Частный случай GS1 и базируется на методе isGS1.
  • isGS1(value: string) - проверяет является ли значение GS1. Реализует проверку контрольной суммы для любых маркировок стандарта GS1. На базе этого метода вы можете построить собственный валидаторы для различных маркировок, например для EAN (EAN-13, EAN-8) и другие. Правильность GS1 вы можете проверить с помощью сервиса ассоциации.

Примеры

Валидация данных рассчётного счёта

Пример для работы с yup. В данном примере используются 3 метода (isBIK, isPaymentAccount, isCorrespondentAccount). Обратите внимиание, что в методах yup'а test в некоторых случаях используется обычные функции, а не стрелочные. Это нужно для сохранения TestContext'а yup, который необходим для работы Ref.

// Импорт
import { isBIK, isPaymentAccount, isCorrespondentAccount } from '@utkonos/entrepreneur'
import * as yup from 'yup'

const validtionSchema = yup.object().shape({
  bik: yup.string().test('bik', (value) => isBIK(value)),
  paymentAccout: yup.string().test('payment', function (value) {
    return isPaymentAccount(value, this.resolve(yup.ref('bik')))
  }),
  corrAccount: yup.string().test('corr', function (value) {
    return isCorrespondentAccount(value, this.resolve(yup.ref('bik')))
  }),
})

Валидация ИНН

Библиотека utk-entrepreneur может валидировать разные типы ИНН. Возьмём 2 ИНН и сравним в чём разница методов. ИНН физического лица - 525696684324, ИНН юридического лица - 7097670129

import {isINN, isINNIndividual, isINNLegalEntity} from '@utkonos/entrepreneur'

console.log(isINN('7713527850'), isINN('447320913440')) // true, true

console.log(isINNIndividual('447320913440'), isINNIndividual('7713527850')) // true, false

console.log(isINNLegalEntity('447320913440'), isINNLegalEntity('7713527850')) // false, true

utk-entrepreneur's People

Contributors

xakplant avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.