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>