Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/07/2012, 08:03
Avatar de patilanz
patilanz
 
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 11 meses
Puntos: 29
Problema entre dos programas!

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
  1. <html>
  2.    <head>
  3.       <title>
  4.          P&aacute;gina con Javascript.
  5.       </title>
  6.       <script language="javascript">
  7.          <!--
  8.  
  9.             var fallo = false; //Usamos esta variable
  10. //para detreminar si se produce un error.
  11.  
  12.             do //Se ejecutará mientras no haya una dirección válida.
  13.             {
  14.                fallo=false; //Se resetea el indicador de fallo.
  15.  
  16.                // Se pide por teclado un email.
  17.                correo = prompt("Introduzca su correo electrónico.","");
  18.  
  19.                /* Si el usuario pulsa el botón cancelar, la variable
  20. recibe el valor null (nulo). En ese caso no funcionarían las
  21. comprobaciones posteriores, así que le ponemos un valor erroneo
  22. para que se pueda determinar el fallo. */
  23.                if (correo == null) correo = "ERROR";
  24.  
  25.                //Se determina la posición del signo @.
  26.                primera = correo.indexOf("@");
  27.                ultima = correo.lastIndexOf("@");
  28.  
  29.                //Se verifica si no existe ninguna arroba.
  30.                if (primera == -1) fallo = true;
  31.  
  32.                //Se verifica si hay más de una arroba.
  33.                if (primera != ultima) fallo = true;
  34.  
  35.                //Se verifica si la arroba está
  36. //al principio o al final de la cadena.
  37.                if (primera == 0 || ultima == correo.length-1) fallo = true;
  38.  
  39.                // La variable buscar se empleará para localizar la
  40. //posición de cada punto en la cadena
  41.                buscar = 0;
  42.  
  43. //Lo primero que hacemos es determinar si hay algun punto.
  44. //Si no lo hay, ya no nos vale la dirección.
  45.                posicion_punto = correo.indexOf(".");
  46.                if (posicion_punto == -1) fallo = true;
  47.  
  48.                //A continuación se determina si los puntos no están
  49. //en posiciones indebidas, es decir, al pincipio o al final de la
  50. //cadena o junto a la arroba.
  51.                do
  52.                {
  53.                   posicion_punto = correo.indexOf(".",buscar);
  54.                   if (posicion_punto==0 || posicion_punto==correo.length-1 || posicion_punto==primera+1 || posicion_punto==primera-1) fallo = true;
  55.                   buscar = posicion_punto + 1;
  56.                } while (posicion_punto != -1);
  57.  
  58.                //Por último, se verifica si se ha producido algún fallo.
  59.                if (fallo)
  60.                {
  61.                   alert ("La dirección introducida es incorrecta.");
  62.                }
  63.             } while (fallo); //Si ha habido algún fallo se repite el proceso.
  64.  
  65.             document.write ("La dirección " + correo + " es correcta.");
  66.  
  67.          //-->
  68.       </script>
  69.    </head>
  70.    <body>
  71.    </body>
  72. </html>

Y mi codigo es este:

Código Javascript:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Documento sin título</title>
  6. <script language="javascript" type="text/javascript">
  7. var fallo = false;
  8. do
  9. {
  10.     fallo = false;
  11.     correo = prompt("Introduzca su correo electrónico.","");
  12.     if (correo == null) correo = "ERROR";
  13.     primera = correo.indexOf("@");
  14.     ultima = correo.lastIndexOf("@");
  15.     if (primera == -1) fallo = true;
  16.     if (primera != ultima) fallo = true;
  17.     if (primera == 0 || ultima == correo.length-1) fallo = true;
  18.     buscar = 0;
  19.     punto = corre.indexOf('.');
  20.     if (punto == -1) fallo = true;
  21.    
  22.     do
  23.     {
  24.         punto = correo.indexOf('.',buscar);
  25.         if (punto == 0 || punto == correo.length-1 || punto == primera+1 ||
  26.         punto == primera-1) fallo = true;
  27.         buscar = punto+1
  28.        
  29.        
  30.     } while(punto != -1)
  31.     if (fallo) {
  32.         alert('Direccio no valida!');  
  33.     }
  34.  
  35. } while(fallo)
  36. docuement.write('La dirreccion de correo es incorrecta!');
  37. </script>
  38. </head>
  39.  
  40. <body>
  41. </body>
  42. </html>

Donde fallo ???