Ver Mensaje Individual
  #271 (permalink)  
Antiguo 30/06/2008, 14:52
Avatar de Adler
Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 19 años, 9 meses
Puntos: 126
Respuesta: Validar E-Mail

Código PHP:
function vMail(ce) {
var 
okem= ce.email.value;

var 
localOK = /^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$/;
var ipOK = /^[?[0-9.]+]?$/;
var 
dominoOK = /^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|([A-Za-z0-9]+))$/;

// El email consta de dos partes dividas por @
var email_array = okem.split('@');

if (
email_array.length < 2 || email_array.length > 2) {
alert("La dirección de email 1  ("+ email_array.length +") no es válida.");
       
document.forms.sendmail.email.focus();
       return (
false);
    }

// Incorrecto número de caracteres en alguna de las dos partes
if (email_array[0].length  < 1 || email_array[1].length  < 1) {
alert("La dirección de email 2 ("+ email_array[0].length +") -- ("+ email_array[1].length +") no es válida.");
       
document.forms.sendmail.email.focus();
       return (
false);
    }

var 
local_array = email_array[0].split('.');
for (
i = 0; i < local_array.length; i++)
{
if (!
localOK.test(local_array[i])) {
alert("La dirección de email 3 ("+ local_array[i] +") no es válida.");
       
document.forms.sendmail.email.focus();
       return (
false);
    }
}

// Se revisa si el dominio es una IP. Si no, debe ser un nombre de dominio válido
if (!ipOK.test(okem)) {

var 
dominio_array = email_array[1].split('.');
// Incorrecto número de secciones por exceso o defecto para ser un dominio
if (dominio_array.length < 2 || dominio_array.length > 3) {
alert("La dirección de email 4 ("+ dominio_array.length +") no es válida.");
       
document.forms.sendmail.email.focus();
       return (
false);
    }

for (
i = 0; i < dominio_array.length; i++)
{
if (!
dominoOK.test(dominio_array[i])) {
alert("La dirección de email 5 ("+ dominio_array[i] +") no es válida.");
       
document.forms.sendmail.email.focus();
       return (
false);
    }
        }
}
else
return (
true)
} 
Mismo código en php

Mismo código en asp
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />