el nombre de la propiedad es
length no lenght
Además la expresión regular para email tiene un fallo
Código:
<script type="text/javascript">
function validacion(){
nombre = document.getElementById("nombre").value;
email = document.getElementById("email").value;
asunto = document.getElementById("asunto").value;
mensaje = document.getElementById("mensaje").value;
var formato = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(nombre.length==0){
alert('[ERROR] El campo nombre está incompleto'); return false;
}
else if(!(formato.test(email)) ){
alert('[ERROR] La dirección de email no es válida'); return false;
}
else if(asunto==null || asunto.length==0 || /^\s+$/.test(asunto)){
alert('[ERROR] El campo asunto está incompleto'); return false;
}
else if(mensaje==null || mensaje.length==0 || /^\s+$/.test(mensaje)){
alert('[ERROR] No ha introducido ningún mensaje'); return false;
}
return true;
}
</script>