Librería TypeScript de alto rendimiento. Zero dependencies, tree-shakeable, con protección DoS integrada.
npm install chilean-rut-formatter
Todo lo que necesitas para trabajar con RUTs chilenos
Algoritmo Módulo 11 oficial para validar RUTs correctamente
Regex pre-compilados, early returns y mínimas allocations
Sin dependencias externas. Ligero y rápido
Sanitización de input y protección contra DoS
Tipos incluidos para autocompletado y type safety
Soporte ESM y CJS. Importa solo lo que necesitas
Prueba la librería en tiempo real
Fácil de usar en cualquier proyecto
import { validateRut, isValidRut } from 'chilean-rut-formatter';
// Validación completa con detalles
const result = validateRut('12.345.678-5');
// { isValid: true, rut: '123456785' }
const invalid = validateRut('12345678-0');
// { isValid: false, error: 'Invalid verification digit' }
// Verificación booleana simple
isValidRut('12.345.678-5'); // true
isValidRut('12345678-0'); // false
import { formatRut } from 'chilean-rut-formatter';
// Por defecto: con puntos y guión
formatRut('123456785'); // '12.345.678-5'
formatRut('12345678K'); // '12.345.678-K'
// Opciones personalizadas
formatRut('123456785', { dots: false }); // '12345678-5'
formatRut('123456785', { dash: false }); // '12.345.6785'
formatRut('12345678K', { uppercase: false }); // '12.345.678-k'
import { formatRutPartial } from 'chilean-rut-formatter';
// Perfecto para formateo mientras el usuario escribe
formatRutPartial('1'); // '1'
formatRutPartial('12'); // '1-2'
formatRutPartial('12345'); // '1.234-5'
formatRutPartial('123456789'); // '12.345.678-9'
// Uso en React
const handleChange = (e) => {
const formatted = formatRutPartial(e.target.value);
setRut(formatted);
};
Todas las funciones disponibles
| Función | Descripción | Retorna |
|---|---|---|
validateRut(rut) |
Valida un RUT y retorna detalles | { isValid, rut?, error? } |
isValidRut(rut) |
Verificación booleana simple | boolean |
formatRut(rut, options?) |
Formatea un RUT válido | string |
formatRutPartial(rut, options?) |
Formateo en tiempo real | string |
cleanRut(input) |
Limpia caracteres no válidos | string |
calculateVerificationDigit(body) |
Calcula el dígito verificador | string |