Buenas Pedro, el apartado d no se me olvidó resolverlo, si ves en el código la expresión regular referente a lo que pide el apartado d lo tengo en la variable "regExpAt" y un poco más abajo en la línea 11 está el if que lo usa, lo que sí pasó es que olvidé poner donde se guarda el resultado de formularioElems[2].value.replace(regExpAt,'@') que sería en el mismo sitio, entonces la línea de código dentro de ese if quedaría así (en verde lo que faltaba);
formularioElems[2].value = formularioElems[2].value.replace(regExpAt,'@');
Dejo el código entero con esta corrección:
<!DOCTYPE html>
<html><head><title>Ejemplo aprenderaprogramar.com</title><meta charset="utf-8">
<script type="text/javascript">
function validacionConExpReg(){
var regExpAt = /\sat\s/
var regExp1 = /[A-Za-z]{3,}/
var regExp2 = /(^\w+@\w+\.\w+)$|(^\w+@\w+)$/
var regExp3 = /(^\w+@\w+\.\w+)$|(^\w+\.\w+)$/
var regExpMayus = /[A-Z]/g
var formularioElems = document.getElementsByClassName('elem');
if(formularioElems[2].value.match(regExpAt)){formularioElems[2].value = formularioElems[2].value.replace(regExpAt,'@');}
var matches1 = formularioElems[0].value.match(regExp1);
var matches2 = formularioElems[2].value.match(regExp2);
var matches3 = formularioElems[2].value.match(regExp3);
if(!matches1){alert('El nombre no cumple tener al menos tres letras');}
if(!matches2 && !matches3){alert("faltan tanto @ como . en el correo electronico");
}else if(!matches2){alert("Falta el simbolo @ en el correo electronico o esta mal colocado");
}else if(!matches3){alert("Falta el simbolo . en el correo electronico o esta mal colocado");}
formularioElems[2].value = formularioElems[2].value.toLowerCase(); //Todo lo de abajo es lo mismo que esta línea (jajaj)*/
/*var emailMatchs = formularioElems[2].value.match(regExpMayus);
var emailArray = formularioElems[2].value.split("");
var emailPos;
for(var i=0;i<emailMatchs.length;i++){
emailPos = formularioElems[2].value.search(regExpMayus);
emailArray[emailPos] = emailArray[emailPos].toLowerCase();
formularioElems[2].value = emailArray.join("");
}
*/
}
</script>
</head>
<body>
<form name="formulario" action="http://www.google.es" method="GET" onsubmit="validacionConExpReg()">
<input type="text" class="elem" name="nombre" placeholder="nombre">
<input type="text" class="elem" name="apellido" placeholder="apellido">
<input type="text" class="elem" name="email" placeholder="email">
<input type="submit" class="elem" value="submit">
</form>
</body></html>