PDA

Ver la Versión Completa : Validar la Cedula


cmgenny
23-09-2003, 06:22:08
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 ;)


<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((i % 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>