Y este es el código solo para el que quiera cotillear... 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();
var controlDePalabra=new Array();
var maximoconsonante=new Array();
var maximovocal=new Array();
var laFrase="";
var q=0
var vocales="AEIOUÁÉÍÓÚ";
var consonantes="BCDFGHJKLMNÑPQRSTVWXYZ";
var comprobado;
var mal=0;
var fraseInicial="";
var espacio=0;
var parabola="";
var revision=false;
//------EDITABLE-----------
var palabraMasCorta=2;
var maximoDeVocales=2;
var maximoDeConsonantes=2;
var inconsistenteSiTieneJuntas=3
//---------------------------
function comprobarCoherencia(frase){
fraseInicial="";
laFrase="";
var control=0;
// Quitar los espacios de más
for (a=0;a<frase.length;a++){
if(frase.charAt(a)==" "){espacio+=1}
else{
espacio=0
}
if(espacio<2){
fraseInicial+=frase.charAt(a)
}
}
if(fraseInicial.substring(fraseInicial.length-1)==" "){
fraseInicial=fraseInicial.substring(0,fraseInicial.length-1);
}
frase=fraseInicial
//Separar por palabras la frase
frase=frase.toUpperCase();
palabra=frase.split(" ");
//Quitar los caracteres extraños y poner las primeras letras de cada
// palabra en mayusculas
for (b=0;b<palabra.length;b++){
for(a=0;a<palabra[b].length;a++){
letra=palabra[b].charAt(a);
if(isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
laFrase+=(a==0)?letra:letra.toLowerCase();
parabola+=letra
}
}
palabra[b]=parabola;
parabola=""
laFrase+=" ";
}
//sustituir lo introducido por el resultado de quitar los espacios de más
// y los caracteres extraños
document.forms[0].elements[0].value=laFrase;
if(laFrase==""){return false;}
//Comprobar la coherencia y que no haya
//más consonantes y vocales juntas del
//máximo permitido
for (b=0;b<palabra.length;b++){
maximoconsonante[b]=0;
maximovocal[b]=0;
control=0;
consonante=0;
vocal=0;
for(a=0;a<palabra[b].length;a++){
comprobado=0;
letra=palabra[b].charAt(a);
if (vocales.indexOf(letra)>-1){
control+=1
vocal+=1
if(consonante>maximoconsonante[b]){
maximoconsonante[b]=consonante;
}
consonante=0
}
if(consonantes.indexOf(letra)>-1){
comprobado=1;control-=1
consonante+=1
if(vocal>maximovocal[b]){
maximovocal[b]=vocal;}
vocal=0
}
}
if(consonante>maximoconsonante[b]){
maximoconsonante[b]=consonante;}
if(vocal>maximovocal[b]){
maximovocal[b]=vocal;}
controlDePalabra[b]=control;}
// Marcar los errores
for (a=0;a<palabra.length;a++){
b=a+1;
Mensaje="Palabra número " + b + ": "+palabra[a];
if (maximoconsonante[a]>maximoDeConsonantes){
Mensaje+="\nTiene mas de "+maximoDeConsonantes+" consonantes juntas";
mal=1;
}
if(maximovocal[a]>maximoDeVocales){
Mensaje+="\nTiene mas de "+ maximoDeVocales+ " vocales juntas";
mal=1;
}
if(Math.abs(controlDePalabra[a])>=inconsistenteSiTieneJuntas){
Mensaje+="\nTiene una falta de consistencia";
mal=1;
}
if(palabra[a].length<=palabraMasCorta){
Mensaje+="\nEs demasiado corta";
mal=1;
}
if(mal==1){alert(Mensaje);}
mal=0;
}
}
</script>
</head>
<body>
<form action='javascript:alert("Enviado!")' >
Nombre: <input onfocus="this.value=''" type="text"><br><br>
<input
type="button"
Value="Comprobar consistencia"
onclick="comprobarCoherencia(document.forms[0].elements[0].value)">
</form>
</body>
</html>