domingo, 12 de junio de 2011

Validación de un correo con javascript

validaEmail es la función que se invoca, value es el parámetro que se recibe y ExpRegular es la expresión regular, es decir el patrón que tienen las direcciones de email:


function validaEmail(value)
{ var ExpRegular = /(\w+)(\.?)(\w*)(\@{1})(\w+)(\.?)(\w*)(\.{1})(\w{2,3})/;
if(ExpRegular.test(value)) { return true; }
else{ return false; }
}

Validar correo email en Java (codigo)

Con este metodo se puede validar un correo electronio de forma manual, recibe una cadena de caracteres y devuelve un boolen, true si cumple las caracteristicas o false si no las cumple.



/**
     * Este metodo valida el correo
     * El correo valida que antes de la @ 'arroba' debe de tener caracateres
     * alfanumericos solamenete, ademas entre la @ y el punto
     * tambien alfanuemricos y despues del punto
     *
     * @param m <code>String</code> es la cadena que recibe
     * @return <code>boolean</code> si el correo es valido retorna true
     */
    public boolean validarMail(String m) {

        char c1 = m.charAt(0);
        int pos1 = 0;
        int pos2 = 0;
        int a1 = 0;
        int a2 = 0;
        int a3 = 0;
        int x = 0;
        String cadena1 = "";
        String cadena2 = "";
        String cadena3 = "";

        if (c1 != '@' && c1 != '.') {


            for (int i=1; i < m.length(); i++) {
                if (m.charAt(i) == '@') {
                    pos1 = i;
                }
            }
            for (int i=1; i < m.length(); i++) {
                if (m.charAt(i) == '.') {
                    pos2 = i;
                }
            }

            cadena1 = m.substring(0, pos1);
            cadena2 = m.substring(pos1+1, pos2);
            cadena3 = m.substring(pos2+1, m.length());

            for (int i = 0;i < cadena1.length(); i++) {
                System.out.println("carcater "+cadena1);
                a1 = cadena1.codePointAt(i);//
                if ((a1 > 47 && a1 < 58  ) || (a1 > 64 && a1 < 91)
                        || (a1 > 96 && a1 < 123) || a1==46 ) {
                    x++;
                }
            }
            System.out.println("1 "+cadena2);
            for (int i = 0; i < cadena2.length(); i++) {
                a2 = cadena2.codePointAt(i);
                System.out.println("carcater "+a2);
                if ((a2 > 47 && a2 < 58  ) || (a2 > 64 && a2 < 91)
                        || (a2 > 96 && a2 < 123)) {
                    x++;
                }
            }

            for (int i = 0;i < cadena3.length(); i++) {
                a3 = cadena3.codePointAt(i);
                if ((a3 > 47 && a3 < 58  ) || (a3 > 64 && a3 < 91)
                        || (a3 > 96 && a3 < 123)) {
                    x++;
                }
            }
            System.out.println("xxx "+x+"    "+(m.length()-2));
            if (x == m.length()- 2) {
                if (pos1 != 0 && pos2 != 0 && (pos1 + 2) < pos2) {

                    if (m.length()-1 >= (pos2 + 2)) {

                        return true;
                    }else {
                        return false;
                    }
                }else{
                    return false;
                }
            }else {
                return false;
            }
        }else {
            return false;
        }
    }