Como ves en el código (está más abajo), existen unas variables editables que son:
var palabraMasCorta=2;
Dices a partir de qué cantidad de letras la palabra es válida.
var maximoDeVocales=2;
Aquí indicas la cantidad máxima de vocales que pueden ir juntas
var maximoDeConsonantes=2;
Aquí lo mismo que en la anterior pero con las consonantes
var nombreDelCampo="pepe";
Aquí se dice cual es el campo del nombre a comprobar (si en la llamada a la función no se dice otra cosa)
He depurado el código, ya no es el inicial, ni los siguientes. Lo he optimizado un poquito y lo he reducido de tamaño. Para ejecutarlo no hay más que llamar a la función poniendo entre los paréntesis el nombre del campo a comprobar entrecomillado. Si no se pone nada comprobará el que tiene por defecto. Si no encuentra el que se le especifica lo advertirá con un mensaje de alerta.
la forma de llamarlo es sencillo en tu caso:
comprobarCoherencia("name");
El código de ejemplo es el que sigue. Y en el siguiente mensaje pondré tu formulario con los cambios debidos.
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Coherencia</title>
<style>
input{
font:normal 10px/10px verdana;
color:navy;
border:solid 1px black;
width:300px;
}
form{ font:bold 10px/10px verdana;
color:black}
</style>
<script>
//------EDITABLE-----------
var palabraMasCorta=2;
var maximoDeVocales=2;
var maximoDeConsonantes=2;
var nombreDelCampo="pepe";
//---------------------------
var palabra=new Array();
var maximoconsonante=new Array();
var maximovocal=new Array();
var laFrase="";
var vocales="AEIOUÁÉÍÓÚ";
var consonantes="BCDFGHJKLMNÑPQRSTVWXYZ";
var mal=0;
var malmal=0;
var espacio=0;
var campo
function comprobarCoherencia(unCampo){
if(unCampo){nombreDelCampo=unCampo;}
mal=0;
malmal=0;
espacio=0;
//localizar el campo que es
for (a=0;a<document.forms[0].elements.length;a++){
if(document.forms[0].elements[a].name==nombreDelCampo){
campo=document.forms[0].elements[a];
break;
}
}
if(a==document.forms[0].elements.length){
alert("No existe campo llamado "+nombreDelCampo+"\nCompruebe que coinciden mayusculas y minúsculas");
return false}
frase=campo.value;
frase=frase.toUpperCase();
for (a=0;a<frase.length;a++){
letra=frase.charAt(a);
if(letra==" "){espacio+=1
if(espacio<2){
laFrase+=letra;
}}
else{
//Quitar los caracteres extraños y poner las primeras letras de cada
// palabra en mayusculas
if(isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
espacio=0;
laFrase+=(laFrase.charAt(laFrase.length-1)==" " ||a==0)?letra:letra.toLowerCase();
}
}
}
// Quitar los espacios de más
if(laFrase.substring(laFrase.length-1)==" "){
laFrase=laFrase.substring(0,laFrase.length-1);
}
if(laFrase.charAt(0)==" "){
laFrase=laFrase.substring(1,laFrase.length);
}
//sustituir lo introducido por el resultado de quitar los espacios de más
// y los caracteres extraños
campo.value=laFrase;
if(laFrase==""){return false;}
//Separar por palabras la frase
frase=laFrase;
laFrase="";
palabra=frase.split(" ");
//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++){
letra=palabra[b].charAt(a).toUpperCase();
if (vocales.indexOf(letra)>-1){
consonante=0
vocal+=1
if(vocal>maximovocal[b]){
maximovocal[b]=vocal;
}
}
if(consonantes.indexOf(letra)>-1){
vocal=0
consonante+=1
if(consonante>maximoconsonante[b]){
maximoconsonante[b]=consonante;
}
}
}
}
// 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;malmal=1
}
if(maximovocal[a]>maximoDeVocales){
Mensaje+="\nTiene mas de "+ maximoDeVocales+ " vocales juntas";
mal=1;malmal=1
}
if(palabra[a].length<=palabraMasCorta){
Mensaje+="\nEs demasiado corta";
mal=1;malmal=1
}
if(mal==1){alert(Mensaje);}
mal=0;
}
if(malmal==0){document.forms[0].submit()}
}
</script>
</head>
<body>
<form action='javascript:alert("Enviado!")' >
Nombre: <input name="peepe" onfocus="this.value=''" type="text"><br><br>
Nombre: <input name="juan" onfocus="this.value=''" type="text"><br><br>
Nombre: <input name="pepe" onfocus="this.value=''" type="text"><br><br>
<input
type="button"
Value="Comprobar consistencia"
onclick="comprobarCoherencia('juan')">
</form>
</body>
</html>