Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/09/2011, 14:19
Avatar de lexus
lexus
 
Fecha de Ingreso: enero-2002
Ubicación: Cali - Colombia
Mensajes: 2.234
Antigüedad: 22 años, 10 meses
Puntos: 4
validar email

hola tengo un sitio web, en el cual tengo que hacer validaciones de email..

alguien tiene un codigo para validar que un email ste bien escrito?

es decir que me valide que tenga la arroba, el dominio bien escrito, ya sea con .com, .com.co, .es, etc hay infinicidad de opciones, tengo un codigo pero no me parece optimo ya que constantemente salen dominios nuevos y no veo bueno estar agregando una lista con los validos..

alguien tiene una validacion buena qeu funcione en todos los casos?


tengo esta

<script language=javascript>
function comprueba_dominio(nombre_dominio)
{
var arr = new Array(
'.com','.net','.org','.biz','.coop','.info','.muse um','.name',
'.pro','.edu','.gov','.int','.mil','.ac','.ad','.a e','.af','.ag',
'.ai','.al','.am','.an','.ao','.aq','.ar','.as','. at','.au','.aw',
'.az','.ba','.bb','.bd','.be','.bf','.bg','.bh','. bi','.bj','.bm',
'.bn','.bo','.br','.bs','.bt','.bv','.bw','.by','. bz','.ca','.cc',
'.cd','.cf','.cg','.ch','.ci','.ck','.cl','.cm','. cn','.co','.cr',
'.cu','.cv','.cx','.cy','.cz','.de','.dj','.dk','. dm','.do','.dz',
'.ec','.ee','.eg','.eh','.er','.es','.et','.fi','. fj','.fk','.fm',
'.fo','.fr','.ga','.gd','.ge','.gf','.gg','.gh','. gi','.gl','.gm',
'.gn','.gp','.gq','.gr','.gs','.gt','.gu','.gv','. gy','.hk','.hm',
'.hn','.hr','.ht','.hu','.id','.ie','.il','.im','. in','.io','.iq',
'.ir','.is','.it','.je','.jm','.jo','.jp','.ke','. kg','.kh','.ki',
'.km','.kn','.kp','.kr','.kw','.ky','.kz','.la','. lb','.lc','.li',
'.lk','.lr','.ls','.lt','.lu','.lv','.ly','.ma','. mc','.md','.mg',
'.mh','.mk','.ml','.mm','.mn','.mo','.mp','.mq','. mr','.ms','.mt',
'.mu','.mv','.mw','.mx','.my','.mz','.na','.nc','. ne','.nf','.ng',
'.ni','.nl','.no','.np','.nr','.nu','.nz','.om','. pa','.pe','.pf',
'.pg','.ph','.pk','.pl','.pm','.pn','.pr','.ps','. pt','.pw','.py',
'.qa','.re','.ro','.rw','.ru','.sa','.sb','.sc','. sd','.se','.sg',
'.sh','.si','.sj','.sk','.sl','.sm','.sn','.so','. sr','.st','.sv',
'.sy','.sz','.tc','.td','.tf','.tg','.th','.tj','. tk','.tm','.tn',
'.to','.tp','.tr','.tt','.tv','.tw','.tz','.ua','. ug','.uk','.um',
'.us','.uy','.uz','.va','.vc','.ve','.vg','.vi','. vn','.vu','.ws',
'.wf','.ye','.yt','.yu','.za','.zm','.zw');
var comprobacion = nombre_dominio;
var val = true;
var punto = comprobacion.lastIndexOf(".");
var nombre_dominio = comprobacion.substring(0,punto);
var extension = comprobacion.substring(punto,comprobacion.length);
if(punto>2 && punto<57)
{
for(var i=0; i<arr.length; i++)
{
if(extension == arr[i])
{
val = true;
break;
}
else
{
val = false;
}
}
if(val == false)
{
alert("la extensionension de tu dominio "+extension+" no es correcta");
return false;
}
else
{
for(var j=0; j<nombre_dominio.length; j++)
{
var dh = nombre_dominio.charAt(j);
var hh = dh.charCodeAt(0);
if((hh > 47 && hh<59) || (hh > 64 && hh<91) || (hh > 96 && hh<123) || hh==45 || hh==46)
{
if((j==0 || j==nombre_dominio.length-1) && hh == 45)
{
alert("Tu nombre de dominio no puede contener el simbolo guion '-' al principio ni al final");
return false;
}
}
else {
alert("El dominio no puede contener caracteres especiales");
return false;
}
}
}
}
else
{
alert("El numero de caracteres insertado no es correcto para el nombre de dominio ");
return false;
}
return true;
}
</script>
<form name="test" onSubmit="return comprueba_dominio(test.valida_nombre.value)">
<input name=valida_nombre type=text>
<input type=submit value=Comprobar nombre>
</form>
__________________
Control de Visitantes, Control de Accesos, Minutas digitales, Manejo de Correspondencia
http://www.controldevisitantes.com