Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Validar la Cedula (https://www.clubdelphi.com/foros/showthread.php?t=3874)

cmgenny 23-09-2003 06:22:08

Validar la Cedula
 
Holas

Mi pregunta esta dirigida a programadores Dominicanos o alguien que conozca del tema. Alguien algunavez me dijo que existe una manera de validar la cedula que tenemos actualmente, haciendo unas aperaciones matematicas, te daba el numero que esta al final pero no se cuales son estas operaciones, un ejemplo es 001-1478406-9 esta es una cedula valida y el ultimo numero es el resultado de ciertas operaciones con los que estan entre guiones pero no he podido desifrar el algoritmo para validarlas.

Me interesa validarlar por que pienzo hacer un programa con este numero como clave primaria y me gustaria que sea un numero algo confiable.

Muchisimas gracias por su ayuda.

Nuria 23-09-2003 10:16:36

Hola cmgenny!

No se si te valdrá, en la página de trucomania : www.q3.nu, hay un truco que válida una célula de Chile, no se si será la misma, pero igual puedes sacar alguna idea.

:rolleyes:

Alfredo Soler 24-09-2003 17:59:39

Saludos Compatriota.

El truco que válida una célula de Chile no te funcionara con la cedula de este país.

El numero de cedula se puede validar primero buscando las tres primeras posiciones en una tabla de municipios validos por que estos datos representan una parte muy importante de la cedula porque los valores que puedes tener ahí no pasan de 135 y las posibilidades que hay calculando un campo de tres posiciones 000 son 10*10*10 =1000 es decir eliminas 865 posibilidades falsas para estos tres primeros números.

Lo segundo es el digito verificador que es la última posición, pero no tengo el procedimiento a mano para pasártelo, pero puedes buscarlo en la red pues es un procedimiento común para este tipo de validaciones.

__hector 25-09-2003 04:38:48

Espero que puedas leer un poco de Javascript ;)

Código PHP:

<html>
<
head>
<
script>
function 
verificar() {
    var 
Cedula document.forms[0].C1.value document.forms[0].C2.value;
    var 
Verificador document.forms[0].C3.value;
    var 
suma 0;
        
    for (
i=0;i<Cedula.length;i++)
    {
        
mod "";
         if((
2) == 0){mod 1} else {mod 2}
         
res Cedula.substr(i,1) * mod;
         if (
res 9)
         {
              
res res.toString();
              
uno res.substr(0,1);
              
dos res.substr(1,1);
              
res = eval(uno) + eval(dos);
         }
         
suma += eval(res);
    }
    
el_numero = (10 - (suma 10)) % 10;
    if (
el_numero == Verificador && document.forms[0].C1.value != "000")
    {
      return 
true
    
}
    else
    {
     
alert("La Cédula es Ilegal");
     return 
false
    
}
}

</script>

<body>
<form name=forma>
<input type=text name=C1 maxlength=3>
<input type=text name=C2 maxlength=7>
<input type=text name=C3 maxlength=1>
<input type=button onclick="return verificar()" value="check">
</form>

</body>
</html> 



La franja horaria es GMT +2. Ahora son las 08:39:19.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi