función parseEmail


/ Published in: JavaScript
Save to your folder(s)

Descripcion: Evalua el formato de una cadena String en cuanto a si es una Dir. Correo.
Recibe: Cadena como un String
Devuelve: true si Cadena es direccion de Correo. false en caso de no tener formato adecuado.


Copy this code and paste it in your HTML
  1. function parseEmail(Cadena){
  2. if(Cadena=='') return true;
  3. Cadena=Cadena.toLowerCase(); // pasamos la cadena a minusculas
  4. if( Cadena.indexOf('@')!=Cadena.lastIndexOf('@') ) {return false; }//Detectar un solo @ ,porque si no coincide es que hay mas de un @
  5. if(Cadena.indexOf('@')==-1) { return false; } // si no hay ningun @
  6. if(Cadena.indexOf('@')==0){ return false;} //Detectar caracter @ al principio
  7. /*
  8. var posArroba=Cadena.indexOf('@');
  9. var caracterSiguiente=Cadena.charAt(posArroba+1);
  10. if(caracterSiguiente=='.'){ return false;}//Detectar carac. @ y punto seguidos
  11. */
  12. if(Cadena.charAt(Cadena.indexOf('@')+1)=='.'){ return false;}
  13.  
  14. //Detectar Sufijo DNS valido
  15.  
  16. var sufijo= Cadena.substr(Cadena.lastIndexOf('.')+1); // Extraer Sufijo DNS de Cadena.
  17. var Encontrado=false;
  18. var arraySufijos= new Array('es','com','org','cat','net');// Lista de sufijos aceptados....a ampliar.
  19. for(var pos=0;pos<=arraySufijos.length-1;pos++){
  20. // Recorremos el Array de sufijo que creamos anteriormente
  21. // si el sufijo esta en el Array entonces... si que es bueno
  22. if(arraySufijos[pos]==sufijo){Encontrado=true; }
  23. }
  24. if(!Encontrado){ return false;} // Si al final resulta que NO ha sido encontrado mal!!!
  25. //Detectar caracteres no validos.
  26. var CaracteresValidos='abcdefghijklmnopqrstuvwxyz0123456789@_-.'; //Preparamos un String de caracteres validos
  27. for(var pos=0;pos<=Cadena.length-1;pos++){
  28. // recorremos cadena i buscamos caracter por
  29. //caracter si se encuentra dentro del String.
  30. if(CaracteresValidos.indexOf(Cadena.charAt(pos))==-1){
  31. // si no esta es que sera un caracter no valido
  32. return false;
  33. }
  34. }
  35. return true; // si se llega hasta aqu�­ , es que todo esta bien.
  36. }

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.