PHP: ¿Cómo puedo obtener el dígito verificador de un RUT? (Chile)
De Foros del Web
Sólo coloca esta función en el lugar que más te acomode, obviamente antes de hacerle una llamada
Código PHP:
<?php /********************************************************* Función Validador de Dígito verificador RUT, by HiperJP - 2003 Ult. Modificación: 26-08-2003 7:58 AM Convertido originalmente de una versión en ASP. *********************************************************/ function ValidaDVRut($rut) { $tur = strrev($rut); $mult = 2; for ($i = 0; $i <= strlen($tur); $i++) { if ($mult > 7) $mult = 2; $suma = $mult * substr($tur, $i, 1) + $suma; $mult = $mult + 1; } $valor = 11 - ($suma % 11); if ($valor == 11) { $codigo_veri = "0"; } elseif ($valor == 10) { $codigo_veri = "k"; } else { $codigo_veri = $valor; } return $codigo_veri; } ?>
La función en si retorna el Digito Verificador del rut pasado como parámetro en $rut (ojo, sólo RUT, sin DV). Para su utilización, hacen una llamada de la forma:
Código PHP:
if (ValidaDVRut($_POST['rut'])==$_POST['rut_dv']) echo "Rut válido!!"; else echo "Rut inválido!!";
Donde, $_POST['rut'] es la variable que trae el rut completo, sin puntos, pasada por un formulario. y, $_POST['rut_dv'] es la variable que nos trae el DV enviado por el mismo formulario. Luego de esto es una simple comparación.
--Hiperjp 03 Jun 2004
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
