Ahora además quita del input los caracteres no válidos Código PHP:
<html>
<head>
<title>Coherencia</title>
<style>
input{
font:normal 10px/10px verdana;
color:navy;
border:solid 1px black;
}
form{ font:bold 10px/10px verdana;
color:black}
</style>
<script>
var palabra=new Array();
controlDePalabra=new Array()
var laFrase="";
var q=0
var vocales="AEIOUÁÉÍÓÚ";
var consonantes="BCDFGHJKLMNÑPQRSTVWXYZ";
var comprobado;
function comprobarCoherencia(frase){
laFrase="";
if(!frase){return false;}
var control=0;
frase=frase.toUpperCase();
palabra=frase.split(" ");
for (b=0;b<palabra.length;b++){
control=0;
for(a=0;a<palabra[b].length;a++){
comprobado=0;
letra=palabra[b].charAt(a);
if (vocales.indexOf(letra)>-1){
comprobado=1;control+=1
}
if(consonantes.indexOf(letra)>-1){
comprobado=1;control-=1
}
if(comprobado==0){control+=1000}
if(isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
laFrase+=(a==0)?letra:letra.toLowerCase();
}
}
laFrase+=" ";
controlDePalabra[b]=control;
}
document.forms[0].elements[0].value=laFrase;
alert("número de palabras: "+palabra.length)
for (a=0;a<palabra.length;a++){
b=a+1;
Mensaje="Palabra número " + b + ": "+palabra[a];
Mensaje+="\n\n Tiene un control: " + controlDePalabra[a];
if(Math.abs(controlDePalabra[a])>2){
Mensaje+="\nTiene una falta de consistencia";
}
if(palabra[a].length<3){
Mensaje+="\nEs demasiado corta"
}
alert(Mensaje);}}
</script>
</head>
<body>
<form action='javascript:alert("Enviado!")' >
Nombre: <input type="text"><br><br>
<input
type="button"
Value="Comprobar consistencia"
onclick="comprobarCoherencia(document.forms[0].elements[0].value)">
</form>
</body>
</html>