Autor Tema: JavaScript cómo validar un correo electrónico contenga arroba y punto CU01142E  (Leído 2438 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo una solución al Ejercicio CU01142E Funciones JavaScript cadenas texto: toLowerCase charAt substring split replace replaceAll indexOf del tutorial pdf básico sobre JavaScript.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Ejemplo curso aprenderaprogramar.com</title><meta charset="utf-8">
<style type="text/css">
body {background-color:yellow; font-family: sans-serif;}
label {color: maroon; display:block; padding:5px;}
.simulaLink {color: blue; cursor:pointer;}
</style>
<script type="text/javascript">

function validar() {
validaNombre();
validaApellido();
validarEmail();

}

 function validarEmail(){
  var varEmail = document.getElementById("email");
  var Cambio=varEmail.value;
  varEmail.value =Cambio.replace(/at/g,'@');
  var inEmail=varEmail.value;
 
var msg="",arrob=0,punto=0,i;
if (inEmail.length<=0){
alert("No se admite el campo Email vacio");
  varEmail.value="@.";
  varEmail.focus();
  varEmail.select();
}
else{
for (i=0; i<inEmail.length;i++){
if(inEmail.charAt(i)=="@" ) {arrob=1;} 
if(inEmail.charAt(i)==".")  {punto=1;} 
}
if (arrob==0){msg=msg+"Falta el signo @\n"}
if (punto==0){msg=msg+"Falta el .\n"}
if (arrob==0 || punto==0){alert(msg)}
 
}
if (arrob && punto){msg=inEmail.toLowerCase();varEmail.value=msg; }
 

 }
 function validaNombre(){
var varNombre = document.getElementById("nombre");
var inNombre=varNombre.value
  if (inNombre.length<3){
alert("El nombre debe de contener al menos 3 caracteres");
  varNombre.value="   ";
  varNombre.focus();
  varNombre.select();
}

 }
 function validaApellido()
{
var varApell = document.getElementById("apellidos");
var inApell=varApell.value
  if (inApell.length<=0){
alert("No se admite el campo Apellido Vacio");
  varApell.value="    ";
  varApell.focus();
  varApell.select();
}

}

 

</script>
</head>
<body><div id="cabecera"><h1>Portal web aprenderaprogramar.com</h1><h2>Didáctica y divulgación de la programación</h2></div>
<!-- Formulario de contacto -->
<form name ="frmContacto" class="frmTipo1" method="get" onsubmit="validar()" action=""> 
<p>Indica los datos de la persona que se apunta al curso:</p>
<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre" onBlur="validaNombre()" /></label><!--  -->
<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos" onBlur="validaApellido()" /></label><!---->
<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email" value="" onBlur="validarEmail()"/></label><!-- -->
 
 
<label><input type="submit" value="Enviar"><input type="reset" value="Cancelar"></label>
</form></body></html>


Adios.
 :-X
« Última modificación: 13 de Febrero 2018, 21:14 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Re:Ejercicio ejerCU01142E JavaScript
« Respuesta #1 en: 13 de Febrero 2018, 21:13 »
Buenas paramonso, repetir (una vez más) ... para poner título a los temas de los foros hacerlo como se indica en https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0

El ejercicio está bien resuelto. Un único detalle a comentar, si escribo prueba at probando.com la cadena que queda es prueba @ probando.com que deja espacios intermedios.

Esto se puede solucionar haciendo el simple cambio de varEmail.value =Cambio.replace(/at/g,'@');

Por lo mismo introduciendo los espacios:

varEmail.value =Cambio.replace(/ at /g,'@');

De ese modo la cadena que quedaría sería prueba@probando.com

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".