Foros aprenderaprogramar.com

Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: Dimitar Stefanov en 11 de Febrero 2016, 21:24

Título: JavaScript validar que campo formulario contenga número mínimo letras CU01142E
Publicado por: Dimitar Stefanov en 11 de Febrero 2016, 21:24
Solucion del ejercicio CU01142E del curso JavaScript desde cero.

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta name="description" content="Curso JavaScript"/>
<meta name="keywords" content="programar,cursos,JavaScript,aprenderaprogramar.com"/>
<link rel="stylesheet" type="text/css" href="CU01142E.css"/>
<script type="text/javascript" src="CU01142E.js"></script>
</head>
<body>
<div id="contenedor">
<form name="formulario1" method="get" onsubmit="validar()">
<h2>Formulario ejemplo cadenas Texto</h2>
<label for="nombre"><span>Nombre:</span><input type="text" id="nombre" name="nombre"></input></label>
<label for="apellidos"><span></span>Apellidos:<input type="text" id="apellidos" name="apellidos"></input></label>
<label for="email"><span>Correo Electrónico:</span><input type="text" id="email" name="email"></input></label>
<label><input type="submit" value="Enviar"></input><input type="reset" value="Cancelar"></input></label>
</form>
</div>

</body>
</html>

Código CSS:

Código: [Seleccionar]
body{
font-family: sans-serif;
text-align: center;
background-color: grey;
font-size: 2em;
}
label{
display: block;
margin: 5px;
}

Código JavaScript:

Código: [Seleccionar]
function validar(){
var datos=document.getElementsByTagName('input');
if(datos[0].value.length<3){
alert('El nombre no cumple tener al menos tres letras');
}
if((datos[2].value.indexOf('@')==-1)&&(datos[2].value.indexOf('.')==-1)){
alert('Falta el símbolo @ y . en el correo electrónico');
}else if(datos[2].value.indexOf('@')==-1){
alert('Falta el símbolo @ en el correo electrónico');
}else if(datos[2].value.indexOf('.')==-1){
alert('Falta el símbolo . en el correo electrónico');
}
datos[2].value=datos[2].value.toLowerCase();
datos[2].value=datos[2].value.replace(/at/g,'@');
datos[2].value=datos[2].value.replace(/ /g,'');
alert(datos[2].value); //comprobar si los valores del campo "correo electrónico" se envían bien.
}


Gracias.
Título: Re:CU01142E JavaScript cadenas texto
Publicado por: bermartinv en 11 de Febrero 2016, 23:32
Funciona, bien pensado.
 Pero porfa, pon todo el codigo junto(HTML,CSS,JavaScript) sino es un coñazo luego copiar y pegar.
Título: Re:CU01142E JavaScript cadenas texto
Publicado por: Dimitar Stefanov en 12 de Febrero 2016, 13:24
Buenas, bermartinv (escribo tu nick en minúscula, no por tenerte menos respeto, sino que no se tu nombre y no sé si te llamas Bermartin o es un pseudónimo).

Al lío, gracias por corregirme el código. Y sobre los códigos separados, pues sí, tienes razón, es un coñazo copiarlos de uno en uno, pero cuando hice el curso HTML desde cero, siempre ponían los códigos CSS aparte. Suponía que así era mas "formal". Tomo nota, a partir de ahora lo pondré todo en un mismo código.

Saludos.

PD: ah, puse el útlimo "alert" para ver si escribías el mail en mayúsculas realmente se convertían en minúsculas :)
Título: Re:CU01142E JavaScript cadenas texto
Publicado por: pedro,, en 13 de Febrero 2016, 23:36
Hola dimiste.

Solo apuntar una cosa, cuando se introduce un correo electrónico del tipo:
"pepe at gml.com"
Primero da error de que falta @ y no debería dar ese error puesto que posteriormente se sustituye "at" por "@" automáticamente.

Saludos.

Título: Re:JavaScript validar que campo formulario contenga número mínimo letras CU01142E
Publicado por: Dimitar Stefanov en 15 de Febrero 2016, 21:51
Buenas, Pedro.

Como en el ejercicio ponía:

Citar
b) Comprobar que el correo electrónico contiene el carácter @ (arroba) y el carácter . (punto). De no ser así, deberá aparecer un mensaje indicando que al correo electrónico le falta uno o ambos caracteres. Por ejemplo si se trata de enviar pacogmail.com deberá aparecer el mensaje: “Falta el símbolo @ en el correo electrónico”

pensé que también debería de aparecer ese error.