Buenas tardes, Pedro y a todos los compañer@s.
He podido modificar el código. He tardado un poco, pero entre semana santa y todas las vacaciones, he estado un poco liado.
Bueno, al lío.
Aquí esta el código del segundo ejecicio.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">
var parrent01 = /\w{1,}/;
var parrent02 = /@/;
var parrent03 = /\./;
var parrent04 = /\w@\w/;
var parrent05 = /\.\w{2,}/;
var parrent06 = /\w+@\w+(?=\.\w+)/;
function verificar(){
var inputs = document.getElementsByTagName('input');
for(var i=0;i<inputs.length;i++){
inputs[i].addEventListener('focus', quitarAtencion);
}
verificarNombre();
verificarCorreo();
verificarEdad();
if(Nombre && Correo && Edad){
alert('Los datos han sido correctos!!!');
return true;}else
{
alert(msn01+"\n"+msn02+"\n"+msn03);
return false;}
}
function verificarNombre(){
if((document.getElementById('nombre').value).match(parrent01) == null){
document.getElementById('nombre').style.backgroundColor = "red";
msn01 = 'El campo nombre es obligatorio!!!';
Nombre = false;
}else{
msn01 = "Nombre correcto!!!";
Nombre = true;}
}
function verificarCorreo(){
if((document.getElementById('correo').value).match(parrent01) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'El campo correo electrónico es obligatorio!!!';
Correo = false;
}else if((document.getElementById('correo').value).match(parrent02) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'El correo electrónico tiene que contener el símbolo "@"!!!';
Correo = false;
}else if((document.getElementById('correo').value).match(parrent03) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'El correo electrónico tiene que contener el símbolo "."!!!';
Correo = false;
}else if((document.getElementById('correo').value).match(parrent04) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'Antes y después del símbolo "@" tiene que haber, por lo menos, una letra!!!';
Correo = false;
}else if((document.getElementById('correo').value).match(parrent05) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'Después del símbolo "." tiene que haber, por lo menos, dos letras!!!';
Correo = false;
}else if((document.getElementById('correo').value).match(parrent06) == null){
document.getElementById('correo').style.backgroundColor = "red";
msn02 = 'En un correo electrónico siempre tiene que estar el "@" antes que el "."!!!';
Correo = false;
}else{
msn02 = "Correo correcto!!!";
Correo = true;}
}
function verificarEdad(){
if((document.getElementById('edad').value) <= 0 || (isNaN(document.getElementById('edad').value))){
document.getElementById('edad').style.backgroundColor = "red";
msn03 = 'La edad tiene que ser un valor positivo!!!';
Edad = false;
}else{
msn03 = "Edad Correcta!!!";
Edad = true;}
}
function quitarAtencion(){
this.style.backgroundColor = "";
}
</script>
</head>
<body>
<div id="contenedor" style="text-align: center;">
<h1>La web para aprender programación</h1>
<p onclick="verificar()">Aquí está el texto del párrafo 1</p>
<p>Aquí está el texto del párrafo 2</p>
<form name="formulario01" method="get" onsubmit="return verificar()">
<label for="nombre"><span>Nombre:</span><input type="text" name="nombre" id="nombre"></label><br><br>
<label for="apellidos"><span>Apellidos: </span><input type="text" name="apellidos" id="apellidos"></label><br><br>
<label for="edad"><span>Edad:</span><input type="text" name="edad" id="edad"></label><br><br>
<label for="mail"><span>Correo Electrónico:</span><input type="text" name="correo" id="correo"></label><br><br>
<label>
<input type="submit" value="Enviar">
<input type="reset" value="Cancelar">
</label>
</form>
</div>
</body>
</html>
Ahora vemos que cumple con lo que me habías comentado, Pedro. Enseguida cuando se da al botón "Enviar" te informa de todos los errores que has cometido. Lo he solucionado, un poco, a mi manera. Quería que fuera una alternativa a como lo habéis solucionado vosotros. Aunque, al fin y a la cabo, muy diferente no pude ser, jeje.
Saludos. (y espero vuestras opinión:))