Hola estoy aprendiendo javascript de un libro y en un programa que valida un email cuando lo abro desde el archivo que me proporciona el libro, funciona perfectamente pero al intentar copiar lo(pero copiar todo de todo) o hacer lo yo mismo no me funciona. Lo unico que me sale es que insierte el email.
El codigo del libro es este:
Código Javascript
:
Ver original<html>
<head>
<title>
Página con Javascript.
</title>
<script language="javascript">
<!--
var fallo = false; //Usamos esta variable
//para detreminar si se produce un error.
do //Se ejecutará mientras no haya una dirección válida.
{
fallo=false; //Se resetea el indicador de fallo.
// Se pide por teclado un email.
correo = prompt("Introduzca su correo electrónico.","");
/* Si el usuario pulsa el botón cancelar, la variable
recibe el valor null (nulo). En ese caso no funcionarían las
comprobaciones posteriores, así que le ponemos un valor erroneo
para que se pueda determinar el fallo. */
if (correo == null) correo = "ERROR";
//Se determina la posición del signo @.
primera = correo.indexOf("@");
ultima = correo.lastIndexOf("@");
//Se verifica si no existe ninguna arroba.
if (primera == -1) fallo = true;
//Se verifica si hay más de una arroba.
if (primera != ultima) fallo = true;
//Se verifica si la arroba está
//al principio o al final de la cadena.
if (primera == 0 || ultima == correo.length-1) fallo = true;
// La variable buscar se empleará para localizar la
//posición de cada punto en la cadena
buscar = 0;
//Lo primero que hacemos es determinar si hay algun punto.
//Si no lo hay, ya no nos vale la dirección.
posicion_punto = correo.indexOf(".");
if (posicion_punto == -1) fallo = true;
//A continuación se determina si los puntos no están
//en posiciones indebidas, es decir, al pincipio o al final de la
//cadena o junto a la arroba.
do
{
posicion_punto = correo.indexOf(".",buscar);
if (posicion_punto==0 || posicion_punto==correo.length-1 || posicion_punto==primera+1 || posicion_punto==primera-1) fallo = true;
buscar = posicion_punto + 1;
} while (posicion_punto != -1);
//Por último, se verifica si se ha producido algún fallo.
if (fallo)
{
alert ("La dirección introducida es incorrecta.");
}
} while (fallo); //Si ha habido algún fallo se repite el proceso.
document.write ("La dirección " + correo + " es correcta.");
//-->
</script>
</head>
<body>
</body>
</html>
Y mi codigo es este:
Código Javascript
:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
<script language="javascript" type="text/javascript">
var fallo = false;
do
{
fallo = false;
correo = prompt("Introduzca su correo electrónico.","");
if (correo == null) correo = "ERROR";
primera = correo.indexOf("@");
ultima = correo.lastIndexOf("@");
if (primera == -1) fallo = true;
if (primera != ultima) fallo = true;
if (primera == 0 || ultima == correo.length-1) fallo = true;
buscar = 0;
punto = corre.indexOf('.');
if (punto == -1) fallo = true;
do
{
punto = correo.indexOf('.',buscar);
if (punto == 0 || punto == correo.length-1 || punto == primera+1 ||
punto == primera-1) fallo = true;
buscar = punto+1
} while(punto != -1)
if (fallo) {
alert('Direccio no valida!');
}
} while(fallo)
docuement.write('La dirreccion de correo es incorrecta!');
</script>
</head>
<body>
</body>
</html>
Donde fallo ???