Foros del Web » Programando para Internet » Javascript »

Problema entre dos programas!

Estas en el tema de Problema entre dos programas! en el foro de Javascript en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/07/2012, 08:03
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 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 ???
  #2 (permalink)  
Antiguo 17/07/2012, 08:11
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: Problema entre dos programas!

en principio porque veo muchas variables no declaradas explícitamente con var

uso de document.write sin abrir/cerrar el flujo HTML, yo usaría innerHTML, es más cómodo, o un input

¿que libro es ése, lo veo muy mal estructurado, o es muy viejo?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 17/07/2012, 14:43
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Problema entre dos programas!

Cita:
Iniciado por maycolalvarez Ver Mensaje
en principio porque veo muchas variables no declaradas explícitamente con var

uso de document.write sin abrir/cerrar el flujo HTML, yo usaría innerHTML, es más cómodo, o un input

¿que libro es ése, lo veo muy mal estructurado, o es muy viejo?
Bueno el libro es :
http://www.ra-ma.es/libros/DOMINE-JAVASCRIPT-3-EDICION/23483/978-84-9964-019-8

Pero puede ser asi debido a que estoy todabia desde el principio como tiene bastantes paginas.
Pero porque uno me sale bien y el otro mal?
  #4 (permalink)  
Antiguo 18/07/2012, 07:09
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Problema entre dos programas!

Pls alguien ???
  #5 (permalink)  
Antiguo 18/07/2012, 07:39
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema entre dos programas!

Primero revisano tu codigo encontre dos errores fatales, aparte que falta declarar las var

1.- ERROR = punto = corre.indexOf('.');
DEBERIA SER = punto = correo.indexOf('.');

2.- ERROR = docuement.write('La dirreccion de correo es incorrecta!');
DEBERIA SER = document.write('La dirreccion de correo es correcta!');
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones
  #6 (permalink)  
Antiguo 18/07/2012, 09:08
Avatar de patilanz  
Fecha de Ingreso: enero-2012
Mensajes: 880
Antigüedad: 12 años, 10 meses
Puntos: 29
Respuesta: Problema entre dos programas!

Cita:
Iniciado por Dradi7 Ver Mensaje
Primero revisano tu codigo encontre dos errores fatales, aparte que falta declarar las var

1.- ERROR = punto = corre.indexOf('.');
DEBERIA SER = punto = correo.indexOf('.');

2.- ERROR = docuement.write('La dirreccion de correo es incorrecta!');
DEBERIA SER = document.write('La dirreccion de correo es correcta!');
Muchas gracias por tu respuesta :)
No se como no los he visto cuando lo revise y copie al menos 5 veces y la verdad esque son fatales
  #7 (permalink)  
Antiguo 18/07/2012, 09:19
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 5 meses
Puntos: 220
Respuesta: Problema entre dos programas!

Siempre trata de depurar tu codigo cuando lo ejecutes usa firebug, inspecto de google chrome, etc existen muchas herramientas free para depurar tu codigo javascript o poder obtener los errores que tu codigo genera
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones

Etiquetas: comprobacion, correo, email, javascript+html
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:39.