PHPackages                             evarmi/algorithm-validator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. evarmi/algorithm-validator

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

evarmi/algorithm-validator
==========================

validador de varios tipos de documentos, como los de identidad o iban

v2.3.1(1y ago)0127MITPHP

Since Jan 18Pushed 1y ago1 watchersCompare

[ Source](https://github.com/EmilioVar/AlgorithmValidator)[ Packagist](https://packagist.org/packages/evarmi/algorithm-validator)[ RSS](/packages/evarmi-algorithm-validator/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (1)Versions (14)Used By (0)

AlgorithmValidator
==================

[](#algorithmvalidator)

[![Packagist Version](https://camo.githubusercontent.com/3346b7a06fa48e067ac172adaee0e5f422a57198c1c259ca2de49d58c7685d86/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f657661726d692f616c676f726974686d2d76616c696461746f72)](https://camo.githubusercontent.com/3346b7a06fa48e067ac172adaee0e5f422a57198c1c259ca2de49d58c7685d86/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f657661726d692f616c676f726974686d2d76616c696461746f72)[![GitHub last commit](https://camo.githubusercontent.com/8f8c0f9203df7a8c1d1f92108c5d80b7f4b09fa268583b433743caa7c74f60a0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f456d696c696f5661722f416c676f726974686d56616c696461746f72)](https://camo.githubusercontent.com/8f8c0f9203df7a8c1d1f92108c5d80b7f4b09fa268583b433743caa7c74f60a0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6173742d636f6d6d69742f456d696c696f5661722f416c676f726974686d56616c696461746f72)[![AlgorithmValidator](./images/header.png)](./images/header.png)

Esta librería permite validar diferentes tipos de documentos como DNI, NIE, CIF y también validar el IBAN, todo ello en base a sus algoritmos. Es una herramienta útil para asegurarse de que los datos ingresados sean correctos y válidos.

Para instalarlo hay que ejecutar el siguiente comando mediante el gestor de paquetes de composer:

`composer require evarmi/algorithm-validator`

Funcionalidades
---------------

[](#funcionalidades)

- [Validación de documentos](#validaci%C3%B3n-de-documentos)
    - Validación de DNI (Documento Nacional de Identidad)
    - Validación de NIE (Número de Identificación de Extranjero)
    - Validación de CIF (Código de Identificación Fiscal)
- [Validación de datos bancarios](#validaci%C3%B3n-de-datos-bancarios)
    - Validación de IBAN (International Bank Account Number)

Forma de uso
------------

[](#forma-de-uso)

Para su funcionamiento, basta con llamar a la clase Validator utilizando el siguiente namespace en el lugar donde lo vayamos a utilizar:

`use Evarmi\AlgorithmValidator\Validator;`

Tenemos ***2 métodos disponibles*** Para las validaciones:

- *documentValidation()*: será el encargado de validar un número de documento, ya sea dni, nie o cif. ***El reconocimiento del tipo de documento lo hace automáticamente***.
- *ibanValidation()*: realizará las validaciones para comprobar si un iban es válido.

El retorno dichos métodos será un array, el cual tiene los las siguientes posibilidades de retorno:

```
    [
        "type" (string) => "DNI" | "NIE" | "CIF",
        "value" (string) => El valor introducido,
        "result" (bool) => Si la validación ha sido satisfactoria devolvera true
    ]

```

Ejemplos de Uso
---------------

[](#ejemplos-de-uso)

### Validación de documentos

[](#validación-de-documentos)

```
    ### Validación de DNI:

    $validacionDNI = Validator::documentValidation('23826295C');

    var_dump($validacionDNI);
    /**
     * [
     *      "type"=> "DNI" ,
     *      "value" => "23826295C",
     *      "result" => true
     * ]
     **/

    ### Validación de NIE:

    $validacionNIE = Validator::documentValidation('X8222827M');

    var_dump($validacionNIE);
    /**
     * [
     *      "type"=> "NIE" ,
     *      "value" => "X8222827M",
     *      "result" => true
     * ]
     **/

    ### Validación de CIF

    $validacionCIF = Validator::documentValidation('B86561412');

    var_dump($validacionCIF);
    /**
     * [
     *      "type"=> "CIF" ,
     *      "value" => "B86561412",
     *      "result" => true
     * ]
     **/
```

### Validación de datos bancarios

[](#validación-de-datos-bancarios)

```
    ### Validación de IBAN
    $validacionIBAN = Validator::ibanValidation('ES7921000813610123456789');

    var_dump($validacionIBAN);
    /**
     * [
     *      "type"=> "IBAN" ,
     *      "value" => "ES7921000813610123456789",
     *      "result" => true
     * ]
     **/
```

Test
----

[](#test)

Para ejecutar los test de comprobación de los metodos puedes ejecutar el siguiente comando de composer:

`composer test`

Contribuir
----------

[](#contribuir)

¡Gracias por considerar contribuir a esta librería! Nos encantaría contar con tu ayuda para mejorarla. Si tienes ideas, sugerencias o encuentras algún problema, no dudes en abrir un issue o enviar un pull request.

Para contribuir, sigue estos pasos:

1. Haz un fork del repositorio.
2. Crea una nueva rama para tu funcionalidad o corrección de errores (`git checkout -b feature/nueva-funcionalidad`).
3. Realiza tus cambios y asegúrate de que los tests pasen (`composer test`).
4. Haz commit de tus cambios (`git commit -m 'Añadir nueva funcionalidad'`).
5. Sube tus cambios a tu fork (`git push origin feature/nueva-funcionalidad`).
6. Abre un pull request en el repositorio original.

Esperamos tus contribuciones y estamos emocionados de trabajar juntos para mejorar esta librería. ¡Gracias por tu apoyo!

Licencia
--------

[](#licencia)

Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance45

Moderate activity, may be stable

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

13

Last Release

471d ago

Major Versions

v1.2.2 → v2.0.02025-01-19

### Community

Maintainers

![](https://www.gravatar.com/avatar/650842808a7d017b3db1c549f2aade061e77f7e3968da1821b37b50917ef9924?d=identicon)[evarmi](/maintainers/evarmi)

---

Top Contributors

[![EmilioVar](https://avatars.githubusercontent.com/u/103036961?v=4)](https://github.com/EmilioVar "EmilioVar (24 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/evarmi-algorithm-validator/health.svg)

```
[![Health](https://phpackages.com/badges/evarmi-algorithm-validator/health.svg)](https://phpackages.com/packages/evarmi-algorithm-validator)
```

###  Alternatives

[webmozart/assert

Assertions to validate method input/output with nice error messages.

7.6k894.0M1.2k](/packages/webmozart-assert)[bensampo/laravel-enum

Simple, extensible and powerful enumeration implementation for Laravel.

2.0k15.9M104](/packages/bensampo-laravel-enum)[swaggest/json-schema

High definition PHP structures with JSON-schema based validation

48612.5M73](/packages/swaggest-json-schema)[stevebauman/purify

An HTML Purifier / Sanitizer for Laravel

5325.6M19](/packages/stevebauman-purify)[ashallendesign/laravel-config-validator

A package for validating your Laravel app's config.

217905.3k5](/packages/ashallendesign-laravel-config-validator)[crazybooot/base64-validation

Laravel validators for base64 encoded files

1341.9M8](/packages/crazybooot-base64-validation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
