Search by

juanisorondo / validate.uy

juanisorondo

There is no license information available for the latest version (v3.1.2) of this package.

Library for validating data in Uruguayan formats

Package info

github.com/juanisorondo/validate.uy

pkg:composer/juanisorondo/validate.uy

Statistics

Installs: 378 543

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v3.1.2 2026-07-13 14:38 UTC

This package is auto-updated.

Last update: 2026-09-13 14:59:10 UTC


README

PHP Composer

Librería PHP para validar documentos uruguayos mediante su formato y dígito verificador.

Actualmente incluye validadores para:

  • Cédula de identidad uruguaya (CI).
  • Registro Único Tributario (RUT).

La librería comprueba la estructura y el dígito verificador del documento. No consulta registros oficiales ni confirma que el documento exista o esté vigente.

Requisitos

Instalación

Instalá el paquete con Composer:

composer require juanisorondo/validate.uy

Composer registrará automáticamente las clases mediante PSR-4. Si no usás un framework que cargue el autoloader por vos, incluilo en el punto de entrada de tu aplicación:

require_once __DIR__ . '/vendor/autoload.php';

Uso

Todos los validadores exponen un método estático validate() y devuelven true cuando el documento es válido o false cuando no lo es.

Cédula de identidad

use juanisorondo\ValidadorUruguay\Ci;

Ci::validate('1.212.121-2'); // true
Ci::validate('1212121-2');  // true
Ci::validate('12121212');   // true
Ci::validate('1.212.121-1'); // false

Si no se indica un formato, Ci::validate() acepta cualquiera de los formatos soportados. Para exigir uno en particular, pasá una de las constantes de Ci como segundo argumento:

Constante Formato admitido Ejemplo
Ci::DOTS_HYPHEN Puntos y guion 1.212.121-2
Ci::HYPHEN Solo guion 1212121-2
Ci::NUMBERS Solo números 12121212
use juanisorondo\ValidadorUruguay\Ci;

Ci::validate('1.212.121-2', Ci::DOTS_HYPHEN); // true
Ci::validate('1212121-2', Ci::HYPHEN);        // true
Ci::validate('12121212', Ci::NUMBERS);        // true

// El número es válido, pero no coincide con el formato solicitado.
Ci::validate('1.212.121-2', Ci::NUMBERS);      // false

La firma del método es:

Ci::validate(string $ci, ?string $format = null): bool

RUT

El RUT debe contener exactamente 12 dígitos, sin puntos, espacios ni guiones. Es recomendable enviarlo como string, especialmente si comienza con cero.

use juanisorondo\ValidadorUruguay\Rut;

Rut::validate('210475730011'); // true
Rut::validate('020064100019'); // true
Rut::validate('310475730011'); // false
Rut::validate('21047573001');  // false: no tiene 12 dígitos

Desarrollo

Cloná el repositorio e instalá las dependencias:

git clone https://github.com/juanisorondo/validate.uy.git
cd validate.uy
composer install

Para ejecutar la suite de tests:

vendor/bin/phpunit tests