ec-validator-dni
Version:
Validation of Ecuadorian identification documents (ID card and RUC)
118 lines (79 loc) • 2.99 kB
Markdown
A TypeScript library for validating Ecuadorian identification documents (ID card and RUC).
Algorithm based in this document [Blog](https://medium.com/@bryansuarez/c%C3%B3mo-validar-c%C3%A9dula-y-ruc-en-ecuador-b62c5666186f)
## Features
- Ecuadorian ID card (cédula) validation
- RUC validation for:
- Natural persons
- Private companies
- Public entities
- Written in TypeScript
- Comprehensive testing with Vitest
- Zero external dependencies
## Installation
```bash
npm install ec-validator-dni
# or
yarn add ec-validator-dni
# or
pnpm add ec-validator-dni
```
## Usage
Once the package is installed, you can import the library using `import` or `require` approach:
```ts
import { dniValidation } from 'ec-validator-dni';
console.log(ecValidatorDni.dniValidation('010011111'));
```
If you use `require` for importing, **only default export is available**:
```js
const ecValidatorDni = require('ec-validator-dni');
console.log(ecValidatorDni.dniValidation('010011111'));
```
```typescript
import { dniValidation } from 'ec-validator-dni';
const result = dniValidation('1234567890');
console.log(result); // { isValid: true or false, errorMessage?: string }
```
```typescript
import { validateRucByType, validateRuc, TypeIdentification } from 'ec-validator-dni';
const resultValidRuc = validateRuc('1234567890001');
console.log(resultValidRuc);// { isValid: true or false, errorMessage?: string }
// Validate RUC for natural person
const resultValidNatural =
validateRucByType('1234567890001', TypeIdentification.RUC_PERSON_NATURAL);
console.log(resultValidNatural);// { isValid: true or false, errorMessage?: string }
// Validate RUC for private company
const resultValidPrivate =
validateRucByType('1234567890001', TypeIdentification.RUC_SOCIETY_PRIVATE);
console.log(resultValidPrivate);// { isValid: true or false, errorMessage?: string }
// Validate RUC for public entity
const resultValidPublic =
validateRucByType('1234567890001', TypeIdentification.RUC_PUBLIC_SOCIETY);
console.log(resultValidPublic);// { isValid: true or false, errorMessage?: string }
```
- Node.js (>= 14.0.0)
- npm, yarn, or pnpm
```bash
git clone https://github.com/JaviKo500/ec-validator-dni.git
npm install
npm run dev
```
The project uses Vitest for testing. To run the tests:
```bash
npm run test
```
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
This project is inspired in [validacion-cedula-ruc-ecuador](https://github.com/tavo1987/validacion-cedula-ruc-ecuador) by [@tavo1987](https://github.com/tavo1987)
[@javiko500](https://github.com/javiko500)