Validar Cédula Ecuador | JAVA

El documento de identidad, también conocido como Cédula de Identidad (CI), Cédula de Ciudadanía (CC), Tarjeta de Identidad (TI), Registro Civil (RC), Cédula de Extranjería (CE), Carné de Identidad (CI), Documento Nacional de Identidad (DNI), Documento Único de Identidad (DUI), identificación oficial o simplemente identificación (ID), dependiendo de las denominaciones utilizadas en cada país, es un documento público que contiene datos de identificación personal, emitido por un empleado público con autoridad competente para permitir la identificación personal e inequívoca de los ciudadanos.

En el Objeto ValidarCedula va el siguiente código:
    // Esta función servirá para validar la longitud de la cadena de texto
    private boolean stringLength(String string, int length) {
        if (string.length() == length)
            return true;
        return false;
    }

    // Esta función sumará y multiplicará los primeros 9 dígitos de la cédula
    // Aquí se multiplica los dígitos impares por 2 y los pares por 1
    // Se usa el siguiente patrón 2.1.2.1.2.1.2.1.2
    // Se retorna la resta de la decena superior de la suma menos la suma
    // Es decir si sale la suma de todos los dígitos 36 entonces la decena superior es 40     // Por lo tanto debemos hacer lo siguiente (40-36)
    private byte sumDigits(byte[] digits) {         byte verifier;         byte sum = 0;         for (byte i = 0; i < digits.length; i = (byte) (i + 2)) {             verifier = (byte) (digits[i] * 2);             if (verifier > 9)                 verifier = (byte) (verifier - 9);             sum = (byte) (sum + verifier);         }         for (byte i = 1; i < digits.length; i = (byte) (i + 2)) {             verifier = (byte) (digits[i] * 1);             sum = (byte) (sum + verifier);         }         return (byte) ((sum - (sum % 10) + 10) - sum);     }     // Función principal que hace uso de las anteriores funciones     public boolean idCardEcuador(String idCard) {         try {             if (stringLength(idCard, 10)) {                 String[] data = idCard.split("");                 byte verifier = Byte.parseByte(data[0] + data[1]);                 byte[] digits = new byte[9];                 for (byte i = 0; i < 9; i++)
                    digits[i] = Byte.parseByte(data[i]);                 if (verifier >= 1 && verifier <= 24) {                     verifier = digits[2];                     if (verifier <= 6) {                         if (sumDigits(digits) == Byte.parseByte(data[9]))                             return true;                     }                 }             }         } catch (Exception e) {             e.printStackTrace();         }         return false;     }

Comentarios

Entradas populares de este blog

Paginación de Memoria

Principales herramientas del Banco Central del Ecuador para reducir la oferta de dinero