Respuesta al ejercicio CU01142E del curso básico de programador web con JavaScript.
No he mirado que existiera el punto antes que el @, osea, si se pone nombre.apellido@gmailcom.
O si se pone nombre.apellido@gmail.com no saltaría el error pero porque detecta el primer punto, como el enunciado no dice nada sobre estos casos no he trabajado mucho en eso:
<!DOCTYPE html>
<html><head><title></title><meta charset="utf-8">
<script type="text/javascript">
function validar(){
var nodeInputs = document.getElementsByClassName("inputs");
if(nodeInputs[0].value.length<3){
alert("El nombre no cumple tener al menos tres letras");
}
nodeInputs[2].value = nodeInputs[2].value.replace(/at/g,"@");
if(nodeInputs[2].value.indexOf("@")==-1 && nodeInputs[2].value.indexOf(".")==-1){
alert("Falta ambos caracteres en el correo electrónico");
}else if(nodeInputs[2].value.indexOf("@")==-1){
alert("Falta el símbolo @ en el correo electrónico");
}else if(nodeInputs[2].value.indexOf(".")==-1){
alert("Falta el símbolo . en el correo electrónico");
}
nodeInputs[2].value = nodeInputs[2].value.toLowerCase();
}
</script>
</head>
<body>
<form name="form1" action="https://www.aprenderaprogramar.com" method="GET" onsubmit="validar()">
<input class="inputs" type="text" name="nombre"><input class="inputs" type="text" name="apellidos">
<input class="inputs" type="text" name="correo"><input type="submit" value="submit">
</form>
</body>
</html>