Foros del Web » Programando para Internet » PHP »

Validacion de Cedula de Ecuador con PHP

Estas en el tema de Validacion de Cedula de Ecuador con PHP en el foro de PHP en Foros del Web. Hola Amigos de Foros del Web Quisiera compartirles este script hecho en php que es un validador de Cedula del Pais de Ecuador, en algun ...
  #1 (permalink)  
Antiguo 25/06/2010, 08:03
(Desactivado)
 
Fecha de Ingreso: junio-2010
Mensajes: 1
Antigüedad: 13 años, 10 meses
Puntos: 0
Información Validacion de Cedula de Ecuador con PHP

Hola Amigos de Foros del Web


Quisiera compartirles este script hecho en php que es un validador de Cedula del Pais de Ecuador, en algun momento tuve la necesidad de realizar uno para un sistema asi que aqui esta, de pronto a alguien le sirve:

esta documentado para poderlo entender:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>


<title>Validacion de Cedula</title>



</head>


<body>

<?php


// funcion para validar la cedula de Ecuador//
//Autor: Oliver Veliz
//año:2009

function validarCI($strCedula)
{
//aqui explico la logica de la validacion de una cedula de ecuador
//El decimo Digito es un resultante de un calculo
//Se trabaja con los 9 digitos de la cedula
//Cada digito de posicion impar se lo duplica, si este es mayor que 9 se resta 9
//Se suman todos los resultados de posicion impar
//Ahora se suman todos los digitos de posicion par
//se suman los dos resultados
//se resta de la decena inmediata superior
//este es el decimo digito
//si la suma nos resulta 10, el decimo digito es cero

if(is_null($strCedula) || empty($strCedula)){//compruebo si que el numero enviado es vacio o null
echo "Por Favor Ingrese la Cedula";
}else{//caso contrario sigo el proceso
if(is_numeric($strCedula)){
$total_caracteres=strlen($strCedula);// se suma el total de caracteres
if($total_caracteres==10){//compruebo que tenga 10 digitos la cedula
$nro_region=substr($strCedula, 0,2);//extraigo los dos primeros caracteres de izq a der
if($nro_region>=1 && $nro_region<=24){// compruebo a que region pertenece esta cedula//
$ult_digito=substr($strCedula, -1,1);//extraigo el ultimo digito de la cedula
//extraigo los valores pares//
$valor2=substr($strCedula, 1, 1);
$valor4=substr($strCedula, 3, 1);
$valor6=substr($strCedula, 5, 1);
$valor8=substr($strCedula, 7, 1);
$suma_pares=($valor2 + $valor4 + $valor6 + $valor8);
//extraigo los valores impares//
$valor1=substr($strCedula, 0, 1);
$valor1=($valor1 * 2);
if($valor1>9){ $valor1=($valor1 - 9); }else{ }
$valor3=substr($strCedula, 2, 1);
$valor3=($valor3 * 2);
if($valor3>9){ $valor3=($valor3 - 9); }else{ }
$valor5=substr($strCedula, 4, 1);
$valor5=($valor5 * 2);
if($valor5>9){ $valor5=($valor5 - 9); }else{ }
$valor7=substr($strCedula, 6, 1);
$valor7=($valor7 * 2);
if($valor7>9){ $valor7=($valor7 - 9); }else{ }
$valor9=substr($strCedula, 8, 1);
$valor9=($valor9 * 2);
if($valor9>9){ $valor9=($valor9 - 9); }else{ }

$suma_impares=($valor1 + $valor3 + $valor5 + $valor7 + $valor9);
$suma=($suma_pares + $suma_impares);
$dis=substr($suma, 0,1);//extraigo el primer numero de la suma
$dis=(($dis + 1)* 10);//luego ese numero lo multiplico x 10, consiguiendo asi la decena inmediata superior
$digito=($dis - $suma);
if($digito==10){ $digito='0'; }else{ }//si la suma nos resulta 10, el decimo digito es cero
if ($digito==$ult_digito){//comparo los digitos final y ultimo
echo "Cedula Correcta";
}else{
echo "Cedula Incorrecta";
}
}else{
echo "Este Nro de Cedula no corresponde a ninguna provincia del ecuador";
}


}else{
echo "Es un Numero y tiene solo".$total_caracteres;
}
}else{
echo "Esta Cedula no corresponde a un Nro de Cedula de Ecuador";
}
}
}


$accion=$_GET["accion"];
$cedula=validarCI($_GET["cedula"]);


if($accion=="Validar"){

echo $cedula;

}else{

echo "no hay nada";

}

?>
<form action="index.php" method="GET" >
<h1>Validacion de Cedula Ecuatoriana</h1>
<b>Cedula</b><input type="text" name="cedula" value="" >
<input type="submit" name="accion" value="Validar">


</form>




</body>
</html>


Última edición por oliverveliz; 25/06/2010 a las 08:11 Razón: cambios de texto
  #2 (permalink)  
Antiguo 26/10/2010, 11:43
 
Fecha de Ingreso: enero-2010
Mensajes: 5
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Validacion de Cedula de Ecuador con PHP

Prueba con '2222222222'...

Etiquetas: cedula, documento, ecuador, identidad, validar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:00.