Dígito verificador de la cédula


Hola, el otro día estaba buscando un código en javascript para comprobar el último dígito de la cédula de identidad (Ecuador), pero no lo encontré, así que decidí hacerlo yo mismo, es bastante simple, ojalá les sirva …

Este es el codigo javascript:

function check_cedula( form )
{
  var cedula = form.cedula.value;
  array = cedula.split( "" );
  num = array.length;
  if ( num == 10 )
  {
    total = 0;
    digito = (array[9]*1);
    for( i=0; i < (num-1); i++ )
    {
      mult = 0;
      if ( ( i%2 ) != 0 ) {
        total = total + ( array[i] * 1 );
      }
      else
      {
        mult = array[i] * 2;
        if ( mult > 9 )
          total = total + ( mult - 9 );
        else
          total = total + mult;
      }
    }
    decena = total / 10;
    decena = Math.floor( decena );
    decena = ( decena + 1 ) * 10;
    final = ( decena - total );
    if ( ( final == 10 && digito == 0 ) || ( final == digito ) ) {
      alert( "La c\xe9dula ES v\xe1lida!!!" );
      return true;
    }
    else
    {
      alert( "La c\xe9dula NO es v\xe1lida!!!" );
      return false;
    }
  }
  else
  {
    alert("La c\xe9dula no puede tener menos de 10 d\xedgitos");
    return false;
  }
}

Ejemplo de uso:

Cedula:

El campo de la cédula se debe llamar exactamente así: “cedula”, si se quiere se puede modificar el código javascript para que reciba un campo “X”, pero eso queda para cada uno …

Saludos