Esto es para ir abriendo boca. Todavía sólo comprueba una palabra y no puede tener tildes. Pero lo hace bien. Si hay más de 2 vocales o consonantes juntas lo dice. La forma de comprobarlo como podrás ver es muy curiosa, pero funciona. Es como una lucha entre vocales y consonantes. Si no queda en empate o por una victoria mínima no vale. Si luego tengo más tiempo lo explico mejor. El código sería (a groso modo) este. Prometo seguir luego con él.
Código PHP:
<html>
<head>
<title>Untitled</title>
<script>
var vocales="AEIOU";
var consonantes="BCDFGHJKLMNÑPQRSTVWXYZ";
function comprobarCoherencia(palabra){
var control=0;
palabra=palabra.toUpperCase();
for(a=0;a<palabra.length;a++){
letra=palabra.charAt(a);
if (vocales.indexOf(letra)>-1){control+=1}
if(consonantes.indexOf(letra)>-1){control-=1}
}
if(Math.abs(control)>2){alert("Falta de consistencia");}
}
</script>
</head>
<body>
<input type="text" onblur="comprobarCoherencia(this.value)">
</body>
</html>