www.noooxml.org.1.gif  (62610 bytes)

Bienvenido a COPLEC.org Comunidad de Programadores de Software Libre del Ecuador, todas tus dudas, inquietudes, serán bienvenidas, no importa la rama o lenguaje que utilices, el único requisito para participar es que lo que utilizas sea "software libre", de lo contrario iría en contra de nuestros principios.

No lo olvides tu opinión cuenta mucho para el mejoramiento de este sitio.

Validador de cédula ecuatoriana

Empezando con esta sección de pequeños trozos de código, hoy les mostraré un ejemplo muy sencillo del que todos los desarrolladores ecuatorianos podremos necesitar, validar una cédula de identidad ecuatoriana.
El proceso para saber si una cédula es valida es el siguiente:

- El décimo dígito es un resultante de un cálculo

- Se trabaja con los 9 dígitos de la cédula.

- Cada dígito de posición impar se lo duplica, si este es mayor que nueve se resta nueve.

- Se suman todos los resultados de posición impar.

- Ahora se suman todos los dígitos de posición par.

- Se suman los dos resultados.

- Se resta de la decena inmediata superior.

- Este es el décimo dígito.

- Si la suma nos resultaba 10, el décimo dígito es cero.



Ahora a continuación escribo el ejemplo en java

Bueno siempre podrán mejorarlo o adaptarlo a sus necesidades o lenguaje determinado

por ejemplo se podría sumar en un solo ciclo
Espero les sirva.

/*
 * Util.java
 * Creado el 3 de noviembre de 2005, 04:37 PM
 */
package com.logicc.data;

/**
 * Título: Util 
 * Descripción: Varias utilidades
 * Copyright: Copyright (c) 2005 - GPL License.
 * Este archivo se distribuye bajo licencia GPL de la Free Software Foundation GNU. 
 * @author Luis Antonio Burbano.
 * @version 0.1
 */

public class Util {
    /**
     * Numero de Provincias del Ecuador
     */
    public static final int NUMERO_DE_PROVINCIAS = 24;//22;   
  
    /**
     * Este método permite verificar si una cédula de identidad es verdadera
     * retorna true si es válida, caso contrario retorna false.
     * @param cedula Cédula de Identidad Ecuatoriana de 10 digitos.
     * @return Si es verdadera true, si es falsa false
     */
    public boolean esCedulaValida(String cedula) {
        //verifica que tenga 10 dígitos y que contenga solo valores numéricos
        if (!((cedula.length() == 10) && cedula.matches("^[0-9]{10}$"))) {
            return false;
        }

        //verifica que los dos primeros dígitos correspondan a un valor entre 1 y NUMERO_DE_PROVINCIAS
        int prov = Integer.parseInt(cedula.substring(0, 2));

        if (!((prov > 0) && (prov <= NUMERO_DE_PROVINCIAS))) {
            return false;
        }

        //verifica que el último dígito de la cédula sea válido
        int[] d = new int[10];

        //Asignamos el string a un array
        for (int i = 0; i < d.length; i++) {
            d[i] = Integer.parseInt(cedula.charAt(i) + "");
        }

        int imp = 0;
        int par = 0;

        //sumamos los duplos de posición impar
        for (int i = 0; i < d.length; i += 2) {
            d[i] = ((d[i] * 2) > 9) ? ((d[i] * 2) - 9) : (d[i] * 2);
            imp += d[i];
        }

        //sumamos los digitos de posición par
        for (int i = 1; i < (d.length - 1); i += 2) {
            par += d[i];
        }

        //Sumamos los dos resultados
        int suma = imp + par;
        
        //Restamos de la decena superior
        int d10 = Integer.parseInt(String.valueOf(suma + 10).substring(0, 1) +
                "0") - suma;
        
        //Si es diez el décimo dígito es cero        
        d10 = (d10 == 10) ? 0 : d10;

        //si el décimo dígito calculado es igual al digitado la cédula es correcta
        return d10 == d[9];
    }    
}
AdjuntoTamaño
Util.java2.36 KB

Trabajo

Que mas muchachos necesito hacer un trabajo en java (En Eclipse ) y concexion a una base de datos sql sobre la creacion de ususario eliminar, modificar,crear,actualizar
si alguien tiene algo referente a eso porfa necesito de usrge ya que el licenciado se cargo y necesito para la proxima semana}
plis que alguien me heche una mano
o si alguien me puede dar haciendo mi numero 093295213 para hablar

Primero que deberias haber

Primero que deberias haber creado tu pregunta en el foro como un nuevo tema y no como un comentario de esta pagina del libro
pero no eres nada especifico y que te den haciendo ??? creo que te equivocaste de foro.

Play Ogg

Generador

jejeje yo hize uno igualito pero a la inversa en vez de validarlo lo generaba, lo hize en PERL (mas chevere) y PASCAL, lastima que no me acuerdo donde lo puse, si lo encuentro lo posteo.

Saludos
--
Solo un ignorante puede imaginarse que en poco tiempo se sane un pais debastado por la corrupcion de TODOS

Que chévere en perl

Que chévere en perl búscalo que a muchos servirá
Play Ogg

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.