Foros del Web » Programando para Internet » Javascript »

Comprobar que un nombre sea Coherente

Estas en el tema de Comprobar que un nombre sea Coherente en el foro de Javascript en Foros del Web. Tienes razón, SuperMundo. El sistema de manejo de campos era lo único que quedaba un poco dificil para los menos habituados a los scripts. Ya ...

  #31 (permalink)  
Antiguo 05/11/2003, 11:45
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Tienes razón, SuperMundo. El sistema de manejo de campos era lo único que quedaba un poco dificil para los menos habituados a los scripts. Ya lo he resuelto con lo siguiente:

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 " ": "+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> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.

Última edición por KarlanKas; 05/11/2003 a las 12:08
  #32 (permalink)  
Antiguo 05/11/2003, 12:07
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Código PHP:
<html>
<
head>
<
SCRIPT language=JavaScript><!--

function 
ValidateForm(form)
{
if (
form.name.value == "")
alert("Por favor ingrese su Nombre"); form.name.focus(); return; }

if (
form.to.value == "")
alert("Por favor ingrese la dirección de email destino"); form.to.focus(); return; }


if (
form.from.value == "")
alert("Por favor ingrese su dirección de e-mail"); form.from.focus(); return; }


if (
form.to.value.indexOf('@'0) == -||
form.to.value.indexOf('.'0) == -1)
alert("Por favor verifique las direcciones de e-mail, existe alguna que no es valida o esta escrita incorrectamente."); form.to.focus(); return; }

if (
form.from.value.indexOf('@'0) == -||
form.from.value.indexOf('.'0) == -1)
alert("Por favor verifique su direccion de e-mail, tal vez no este escrita correctamente."); form.from.focus(); return; }


comprobarCoherencia();
}

//------EDITABLE-----------
var palabraMasCorta=2;
var 
maximoDeVocales=2;
var 
maximoDeConsonantes=2;
var 
nombreDelCampo="name";
//---------------------------

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;}
malmal=0;
mal=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 " ": "+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>
<title></title> 
</head>

<BODY 
BGPROPERTIES=FIXED 
bgcolor=black 
leftmargin=1 
topmargin=0 
background="" 
link=#0000ff 
text=#000000 
vLink=#800080> 
<FONT color=green face="verdana">

<!-- EMPIEZa RaPIDOMaIL -->
<form action="perl/p2.cgi" method=POST>
<input type="hidden" value="http://www.SuperMundo.com/" name="respuesta">
<INPUT TYPE="hidden" value="El sitio [url]www.SuperMundo.com[/url] me gusto mucho!" NaME="asunto">



<center>
<table width=100% border=2 cellpadding=0 cellspacing=0>
<tr border=2 bgcolor="#006633"><font size="-1" face="arial, Helvetica" color="#ffffff"><b><td bgcolor="#FFFF00" bordercolor="#0000FF" bordercolorlight="#00FF00" bordercolordark="#FF0000"><font size=+1><b>Recomienda esta página<br>Pone las direcciones de tus amigos separadas por comas(,)</font></font></font></font></font></tr>

<tr border=2 width="90" bgcolor="cyan" bordercolor="red">
<td><b>Para:</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input value="" type="text" name="to" SIZE=70><br>
<b>Tu E-mail:</b><INPUT TYPE="text" NaME="from" SIZE=23>
<b>Tu Nombre:</b><INPUT TYPE="text" NaME="name" SIZE=23>
<input type=hidden NaME="email_body" value="Te envio este e-mail porque encontre un sitio bien interesante; aqui encontraras de todo, videos, juegos, poemas de amor, etc, se que te gustara, no dejes de visitarlo!!!, quiero demostrarte que siempre estoy pensando en ti y todos mis amigos.">
<input onclick=ValidateForm(this.form) type=button value="Enviar">         
</tr>
</table> 
</form> 
<center>
<!-- TERMINa RaPIDOMaIL -->

</body>
</html> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #33 (permalink)  
Antiguo 05/11/2003, 12:09
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Dime si te funciona!!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #34 (permalink)  
Antiguo 05/11/2003, 12:58
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
Hola, Karlankas espectalucar un genio...funciona a la perfección.

Creo que el trabajo quedo concluido aqui.

Dejo a tu criterio si lo quieres o lo quieren perfeccionar o agregar funciones...
Lo importante a tomar en cuenta es que en los casos particulares siempre existe un patron en comun luego de detectado el patron se hace mas facil.

Por ejemplo con el caso del nombre "Andrea", pero en este caso termina y empieza con vocal. Te lo dejo para que lo pienses lo importante es encontrar mas de un caso y ver que tienen en comun.

Saludos y un millon de gracias.!
Gerardo.!

Ah, una cosa mas como puedo hacer para que el boton enviar se ponga "disabled' luego de apretarlo?.(Pero unicamente si esta en proceso de envio, en caso que el cursor retorne al campo por un error o un mensaje de alerta, que siga activo)
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #35 (permalink)  
Antiguo 05/11/2003, 15:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Eso es muy fácil:
Pon en el form:

<FORM onsubmit="document.forms[0].elements[document.forms[0].elements.length-1].disabled=true;" ...

ME alegro de que te funcionara. Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #36 (permalink)  
Antiguo 05/11/2003, 16:31
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
Hola, eso funciona con type="submit" pero yo tengo type="button"

si le pongo al formulario type="submit" deja de funcionar el control de las direcciones de email...

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #37 (permalink)  
Antiguo 05/11/2003, 18:21
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Pero has comprobado que no funciona?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #38 (permalink)  
Antiguo 06/11/2003, 07:24
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
si lo probe y no hace nada....
lo puse asi...

<form onsubmit="document.forms[0].elements[document.forms[0].elements.length-1].disabled=true;" action="perl/p2.cgi" method=POST>

esta bien?

Saludos,!
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #39 (permalink)  
Antiguo 07/11/2003, 06:05
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 23 años, 2 meses
Puntos: 5
Exclamación off-topic

Lo siguiente no viene al caso pero ya que se mencionó...

NOTICIA DE ULTIMA HORA

"NO SE LLAMARÁ FRANCISCA:
A pesar de que la primera intención de la familia era bautizar con
este
nombre a la primera nieta de Aznar (en memoria del Generalísimo), han
desistido al caer en la cuenta de que el diminutivo "Paca" podía
prestarse a pitorreo:
Paca Agar Aznar"

Un beso
  #40 (permalink)  
Antiguo 08/11/2003, 15:27
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 4 meses
Puntos: 381
'nass

Estooo Arnold Schwarzenegger no podrá inscribirse en tu formulario

Mi amiga de apellido Schwab, tampoco
  #41 (permalink)  
Antiguo 10/11/2003, 04:31
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Ni tampoco el famoso creador de charlie brown y peanuts (o snoopy). Tal vez podamos perfeccionar este script un poco.

tunait, sabes a qué apartado de la página que te enseñé va a ir este script, verdad?
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #42 (permalink)  
Antiguo 10/11/2003, 04:42
Avatar de tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 4 meses
Puntos: 381
Cita:
tunait, sabes a qué apartado de la página que te enseñé va a ir este script, verdad?
Em ... al de formularios??? al de cosas absurdas?? (yo lo pondría en el de formularios, conste )

Una posdata que no puse en mi mensaje anterior..... es que me parece un trabajo excelente el que has hecho, maestro Abducido

Pero la idea de que Schwartzenburger no podría inscribirse en un formulario que tratara de verificar un nombre con sentido para los de habla hispana la tengo desde que se inició este post.

Muchísima gente de habla hispana tiene apellidos alemanes, rusos y etéteras que no pasarían un test como este. Y si lo pasan... pueden pasar también nombres de "teclazos aleatorios" con lo que el script perdería su funcionalidad.
  #43 (permalink)  
Antiguo 10/11/2003, 05:22
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
Muchas gracias por esos piropos, mi querida leporcia! Aunque creo que es mejorable en cuanto a su ejecución... desde que empecé a contestar este post he hecho 3 versiones y ninguna termina de convencerme... No digo que lo haga mal, sino uqe tal vez se podría haber hecho más sencillo.

Y mi espinita es que aún se puede introducir wewewewewe como nombre. Aunque se puede quitar de las letras válidas la "W"...

El caso, que muchas gracias por los ánimos y lo pondré en formularios.

Un saludo
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #44 (permalink)  
Antiguo 10/11/2003, 11:50
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
El tema es que una cosa es una cosa y otra cosa es otra cosa.
Ahora bien se puede combinar una cosa con otra cosa y hacer una cosa mejor....pero eso ya es otra cosa...

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #45 (permalink)  
Antiguo 01/07/2004, 11:46
Avatar de Seerkan  
Fecha de Ingreso: febrero-2001
Mensajes: 61
Antigüedad: 23 años, 10 meses
Puntos: 0
Sin ánimo de ofender pero: ¿que tienen de coherente palabras como "polteirrat" o "ospaorpolpor"?

¿esas las admite el código?
__________________
***** ale, un pis y a la cama ****** ;-)
  #46 (permalink)  
Antiguo 01/07/2004, 15:27
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
Cita:
Iniciado por Seerkan
Sin ánimo de ofender pero: ¿que tienen de coherente palabras como "polteirrat" o "ospaorpolpor"?

¿esas las admite el código?
No se pero lo que hace el codigo es impedir que personas impulsivamente digiten cualquier cosa....de seguro vos tuviste que pensar para poner eso. si yo pongo alojime por decir algo tal vez tambien lo acepte...lo importante es que las personas no saben como funciona el programa. je!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #47 (permalink)  
Antiguo 01/07/2004, 15:36
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años
Puntos: 61
El código admitiría "wewewewew" pero contra eso es dificil luchar... es como intentar qe un comprobador de direcciones de email no admita [email protected]
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #48 (permalink)  
Antiguo 01/10/2004, 08:44
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años, 8 meses
Puntos: 0
Cita:
Iniciado por KarlanKas
Código PHP:
<html>
<
head>
<
SCRIPT language=JavaScript><!--

function 
ValidateForm(form)
{

comprobarCoherencia();
}

//------EDITABLE-----------
var palabraMasCorta=2;
var 
maximoDeVocales=2;
var 
maximoDeConsonantes=2;
var 
nombreDelCampo="Tnom";
//---------------------------

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;}
malmal=0;
mal=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 " ": "+palabra[a];

if (
maximoconsonante[a]>maximoDeConsonantes){
Mensaje+="\nNombre no Valido utilice otro, Tiene mas de "+maximoDeConsonantes+" cc";
mal=1;malmal=1
}
if(
maximovocal[a]>maximoDeVocales){
Mensaje+="\nNombre no Valido utilice otro, Tiene mas de "maximoDeVocales" vv";
mal=1;malmal=1
}

if(
palabra[a].length<=palabraMasCorta){
Mensaje+="\nNombre no Valido utilice otro, Es demasiado corto";
mal=1;malmal=1
}
if(
mal==1){alert(Mensaje);}
mal=0;

}
if(
malmal==0){document.forms[0].submit()}
}
//-->
</script>



<title>Registro de Usuario - SuperMundo.com</title>
</head>

<body bgcolor="#FFFFFF">

<br>

<form action="registrar.asp" method="POST" name="Registro">
<div align="center"><center>

<table border="1" cellpadding="0" cellspacing="0"
bgcolor="#C0C0C0">
    <tr>
        <td bgcolor="#000080"><font color="#FFFFFF" size="2"
        face="Tahoma"><strong>Registro de Usuario</strong></font></td>
    </tr>
    <tr>
        <td><div align="center"><center><table border="0"
        cellspacing="1">
            <tr>
                <td><font size="2" face="Tahoma">Nombre/s: </font></td>
                <td><input type="text" maxlength=50 size="25" name="Tnom"></td>
            </tr>
            <tr>
                <td><font size="2" face="Tahoma">Apellido/s: </font></td>
                <td><input type="text" maxlength=50 size="25" name="Tapellido"></td>
            </tr>
</table>
</html> 
Hola Karlankas como estas; sabes que tu codigo ha dado muy buenos frutos y lo he colocado en un registro de usuario que tiene dos campos nombre y apellido; te consulto para ver si puede ser que el mismo codigo compruebe ambos campos el campo nombre y el campo apellido.!

Gracias y saludos;
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #49 (permalink)  
Antiguo 23/02/2005, 14:23
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 20 años
Puntos: 0
oye una preguntilla, sabe alguien si esto se ha seguido mejorando para cojer el valido
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:57.