Hola amigo, espero que esto te sirva de ayuda:
Antes que nada queria decirte que asi no se utiliza la metodo indexOf, solo debes poner una sola cadena, mucho menos separar cada texto con ";"
Ahora si lo que tienes que hacer es lo siguiente:
Código Javascript
:
Ver original//Esto lo colocas dentro de tu funcion validar_email,
al comienzo antes de las condicionales*/
//Primero creamos una cadena (texto) con los correos que solo quieres
var correos="yahoo hotmail gmail live";
/*Luego dividimos por el @ el contenido del email con la metodo split y lo
guardamos en la variable dominio*/
var dominio=document.formu.EMAIL.value.split("@");
/*Ahora en dominio[1] contiene 'dominio.com' lo volvemos a dividir para obtener
el dominio de correo lo que esta antes del punto, tambien con el metodo split.*/
var server=dominio[1].split(".");
/*Finalmente verificamos si server[0] que contiene el dominio de correo esta
dentro del textio correos con la funcion match, el resultado se almacena en res*/
var res=correos.match(server[0]);
La funcion match si no encuentra el texto dentro de la cadena, devuelve null
Entonces en la línea 11 colocas la condicion:
Supongo que habra otras maneras, espero te sirva.
Saludos..