Hola César.
La idea de esa linea que comentas consistía en que si el nombre no era correcto, la función devolviese que '', para que nodoNombre.value quedase en blanco. Pero ya me dí cuenta de que es un mal planteamiento, y después de revisar bien el código, finalmente he decidido cambiar el planteamiento.
Aquí dejo mi nueva propuesta:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<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;}
</style>
<script type="text/javascript">
function validacionConExpReg(){
var nodoNombre = document.getElementById('nombre');
var nodoApellidos = document.getElementById('apellidos');
var nodoEmail = document.getElementById('email');
var nombreCorrecto = false;
var emailCorrecto = false;
var atEnEmail = false;
if(!nodoNombre.value=='' && !nodoEmail.value==''){
nombreCorrecto = comprobarNombre(nodoNombre.value);
if(!nombreCorrecto){alert('El nombre debe de tener al menos tres caracteres.');}
emailCorrecto = comprobarEmail(nodoEmail.value);
if (emailCorrecto){atEnEmail = comprobrarAtEnEmail(nodoEmail.value);}
if (atEnEmail){nodoEmail.value = cambiarAtEnEmail(nodoEmail.value);}
if(nombreCorrecto && emailCorrecto){
nodoEmail.value = pasarEmailAMinusculas(nodoEmail.value);
var msg = 'Los datos a enviar son:\nNombre: ' + nodoNombre.value + '\nApellidos: ' + nodoApellidos.value;
msg += '\nCorreo electronico: ' + nodoEmail.value;
alert(msg);
}else{
alert('Vuelva a introducir los datos.');
borrarFormulario();
}
}else{
borrarFormulario();
}
function borrarFormulario(){
nodoNombre.value = '';
nodoApellidos.value = '';
nodoEmail.value = '';
}
}
function comprobrarAtEnEmail(email){
var expAt = /\w+\sat\s\w+/;
if(expAt.test(email)){return true;}
}
function cambiarAtEnEmail(email){
return email.replace(/\sat\s/g,'@');
}
function pasarEmailAMinusculas(email){
return email.toLowerCase();
}
function comprobarNombre(nombre){
var expReg = /\w{3}/;
if(!expReg.test(nombre)){
return false;
}else{
return true;
}
}
function comprobarEmail(email){
var expAt = /\w+\sat\s\w+/
var expArroba = /[@]/
var expPunto = /[.]/
if((!expArroba.test(email) && !expAt.test(email)) || (!expPunto.test(email) && !expAt.test(email)) || (!expPunto.test(email) && !expPunto.test(email))){
if(!expArroba.test(email) && !expAt.test(email) && !expPunto.test(email)){
alert('Dirección de correo errónea, falta el signo @ o el .');
}else if(!expArroba.test(email) && !expAt.test(email) && expPunto.test(email)){
alert('Dirección de correo errónea, falta el signo @');
}else{
alert('Dirección de correo errónea, falta el signo .');
}
return false;
}else{
return true;
}
}
</script>
</head>
<body>
<form name ="formularioContacto" class="formularioTipo1" method="get" onsubmit="validacionConExpReg()">
<label for="nombre"><span>Nombre:</span> <input id="nombre" type="text" name="nombre"></label>
<label for="apellidos"><span>Apellidos:</span> <input id="apellidos" type="text" name="apellidos"></label>
<label for="email"><span>Correo electrónico:</span> <input id="email" type="text" name="email"></label>
<label><input type="submit" value="Enviar" ><input type="reset" value="Cancelar"></label>
</form>
</body
Saludos y gracias.