Comunidad de diseño web y desarrollo en internet online

Validación de un formulario

Citar            
MensajeEscrito el 31 Dic 2009 12:05 am
Hola a tod@s estoy intento crear una función para validar en un campo de texto si se ha introducido una dirección de correo electrónico valida. Esta validación se hace cuando el usuario que entra sale de dicho campo del formulario. El problema que tengo es que no funciona, el código que e introducido es el siguiente:

Código HTML :

<html>
   <head>
      <title>Validación de correo</title>
<script language="JavaScript">   
function compruebaMail ()
{var mail_valido=true ;
var email=document.form1.mail.value ;
var pos_arroba=email.indexOf("@") ;
var pos_punto=email.indexOf (".") ;
if ((pos_arroba==0) || (pos_arroba==-1) || (post_arroba==email.length-1))
mail_valido=false ;
if ((pos_punto < pos_arroba +1) | ) || (pos_punto ==-1) || (pos_punto
==email.length-1)) mail_valido=false ;
if (!mail_valido) alert ("E-mail no valido") ; }
</script>   
   </head>
   <body>
<script language="JavaScript">
<input type="text" name="mail" onBlur="compruebaMail () ;">
</script>
   </body>
</html>

1 saludo y gracias por vuestro tiempo. :)
[BOFH]Para mejorar la lectura, encierra tu código HTML entre las etiquetas [*html] y [*/html] (sin los asteriscos). The Fricky![/BOFH]

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 31 Dic 2009 03:07 am
Aquí va el tip que necesitas:

Código Javascript :

function ValidarCorreo(email){
  var formato = /^([\w-\.])+@([\w-]+\.)+([a-z]){2,4}$/;
  var comparacion = formato.test(email);
  return comparacion;
}


A la función le pasas el value del input donde está la dirección a validar y te devuelve verdadero o falso si dicha dirección está bien formada:

Código Javascript :

if (ValidarCorreo(document.getElementByName("email").value)) { alert("Dirección correcta."); }
else { alert("Dirección mal formada"); }


Suerte :)

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 Ene 2010 12:58 pm
Hola lo siento por tardar tanto en contestar, estado ocupado con temas personales. El código que te puse tiene que valer sin añadir las lineas que me dices, creo que no es necesario añadir más código. Si alguien están amable de indicarme algún libro de JavaScript para personas torpes como yo se lo estaré muy agradecido. 1 saludo y gracias :)

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 19 Ene 2010 01:16 pm

DuendeB25 escribió:

El código que te puse...

No funciona, como has dicho.

DuendeB25 escribió:

tiene que valer sin añadir las lineas que me dices,

Ajá. Quieres que funcione sin añadir líneas de código. Bien. Como yo magia no hago, lamento no poder ayudarte.

DuendeB25 escribió:

creo que no es necesario añadir más código.

Para alguien que pide libros para personas torpes tienes una opinión bien formada sobre lo que es necesario añadir o no al código en cuestión.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 19 Ene 2010 01:34 pm
Lo siento si te e ofendido, no e querido decir eso, el código que me as puesto funciona. Pero en el ejercicio que estoy haciendo solo aparecen las líneas que pongo. Este ejercicio está sacado de un libro de grado medio que es lo que estoy estudiando, explica JavaScript en un tema de 17 páginas y no está muy claro. De verdad que lo siento, llevo un mes estudiando JavaScript. 1 saludo y gracias por tu ayuda

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 20 Ene 2010 09:44 pm
Hola ya lo e resuelto en clase, pongo el código por si a alguien lo necesita.

Código :

<script language="JavaScript">
function compruebaMail()
{
var mail_valido=true;
var email=document.form1.mail.value;
var pos_arroba=email.indexOf("@");
var pos_punto=email.indexOf(".");
if((pos_arroba==0) || (pos_arroba==-1) || (pos_arroba==email.lenght-1)) mail_valido=false;
if((pos_punto < pos_arroba +1) || (pos_punto==-1) || (pos ==email.lenght-1)) mail_valido=false;
if (!mail_valido) alert("E-mail no valido");
}
// Dentro del cuerpo del documento html hay que escribir el formulario
<form action="mailto:[email protected]" method="post" enctype="text/plain" name="form1">
<input type="text" name="mail" onBlur="compruebaMail();">
</form>

A mí no me gusta tener ningún problema con nadie, cuando dije lo del código que no hacía falta añadir más líneas no lo dije con mala intención. Yo soy un novato en este mundo y se que mucha gente sabe muchisimo más que yo. No se porque DriverOp se lo tomo tan mal, creo que nadie nace sabiendo. 1 saludo sin malos rollos. ^^

Por DuendeB25

5 de clabLevel



 

mozilla
Citar            
MensajeEscrito el 21 Ene 2010 02:24 am
Ese código tampoco funciona. Da como válido cosas como estas:

driverop@exam#ple.com
driverop@exam ple.com
driverop@example.

Todos inválidos.
Pero da como inválido algo como esto:

[email protected]

Lo cual es perfectamente válido.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 21 Ene 2010 05:42 am
Creo que ya quedó claro que el código es en plan educativo, no para producción. De hecho, como dice DriveOp, el código no funciona correctamente, pero es un código bastante viejo que aparece en algunos libros de texto (ya lo he visto antes) y en algunos foros/cursos de javascript.
Fuera de eso, decir que la propuesta de DriveOp es mil veces más conveniente para una aplicación real.

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.