Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save LuisJosueSantanaPerez/59c3c82380f1703b9829d15a12b2188b to your computer and use it in GitHub Desktop.
Save LuisJosueSantanaPerez/59c3c82380f1703b9829d15a12b2188b to your computer and use it in GitHub Desktop.
Validación de cédula dominicana (Javascript)
<script>
/* Modificacion del original en postingcode.com
* Agregado el control de variable cedulaValida y controlando ced.length a menor de 11
* para los casos de cédulas sin guiones
*
* La cedula utilizada ES una cedula valida y asignada al ciudadano gerente de este script
* Modificación por Victor Abreu | www.vicabreu.com
* Nombre del archivo: ValidaCedulaDominicana.html
*/
var cedulaValida = "00116454281";
var cedulaNoValida = "00116454282";
alert ("Cedula " + cedulaValida + ": " + valida_cedula(cedulaValida));
alert ("Cedula " + cedulaValida + ": " + valida_cedula(cedulaNoValida));
/* Validación de número de cédula dominicana
* con longitud de 11 caracteres numéricos o 13 caracteres incluyendo los dos guiones de presentación
* ejemplo sin guiones 00116454281, ejemplo con guiones 001-1645428-1
* el retorno es 1 para el caso de cédula válida y 0 para la no válida
*/
function valida_cedula(ced) {
var c = ced.replace(/-/g,'');
var cedula = c.substr(0, c.length - 1);
var verificador = c.substr(c.length - 1, 1);
var suma = 0;
var cedulaValida = 0;
if(ced.length < 11) { return false; }
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 && cedula.substr(0,3) != "000") {
cedulaValida = 1;
}
else {
cedulaValida = 0;
}
return cedulaValida;
}
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment