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. Hola querria saber si alguien conoce un codigo de control de formularios donde existen dos campos e-mail, origen y destino y otro campo nombre, donde ...

  #1 (permalink)  
Antiguo 30/10/2003, 12:59
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Comprobar que un nombre sea Coherente

Hola querria saber si alguien conoce un codigo de control de formularios donde existen dos campos e-mail, origen y destino y otro campo nombre, donde el javascript controle que ambos email sean validos, pero lo mas importante es que controle que el nombre sea un nombre coherente y no un conjunto de caracteres como "h,nsdlansdlf" o hjlksaddas456".

Por ejemplo no exiten casi nombres de dos caracteres, en caso que exista que ponga otro, alli ya se podria delimitar.

Otro caso es un control de caracteres pegados, nadie se llama aaa o ppp o pattti.

Otro control es correlatividad de consonantes y vocales.

Otro Control numeros o caracteres no abecedario.

Gerardo = Consonante,vocal,consonante,vocal,consonante,conso nante,vocal

Ana = Vocal,Consonante,Vocal

Ruben = consonante,vocal,consonante,vocal,consonante

Pepe= consonante,vocal,consonante,vocal

La idea seria que no permita mas de dos vocales junta o que ese parametro se pueda modificar en caso que detectemos nombres con mas de dos consonantes juntas.

Otro Control que estaria dentro del primer control seria no nombre de dos caracteres espacio en blanco y despues apellido por ejemplo:

PP Garcia

Si quiere poner pepe que ponga pepe

o sea el espacio en blanco si anteriormente contiene solo dos caracteres no se tomaria en cuenta.

Bueno esa es la idea general, de seguro si encontramos una solucion le puede servir a mucha gente.

Y que al apretar el boton, se emita un mensaje de tipo:
o alguna de las direcciones de email de algun destinatario no es valida, (para el caso que ponga mas de una) o la direcicon email de ud no es valida o el nombre ingresado no es coherente escriba otro.

Muchas Gracias,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #2 (permalink)  
Antiguo 31/10/2003, 03:59
 
Fecha de Ingreso: octubre-2003
Mensajes: 3
Antigüedad: 20 años, 6 meses
Puntos: 0
Hay gente que posee absolutamente toda la guita que existe, ejércitos enteros de programadores y científicos de diferentes ramas, todos con currículums dignos de premio nobel (si es que eso es apreciable), y no encontró solución a lo que planteás.

¿Por qué? no podés hacer un script que regule en serio lo que uno escribe. De hecho, las personas regulan a los scripts, y no al revés. "Hecha la ley, hecha la trampa", dijo una vez un idiota.

Te diría que te vayas olvidando del asunto; dejalo hasta donde te salga, hacéselo entender a quién se lo tengas que hacer entender, y dormí tranquilo.

Hay nombres realmente raros (en idiomas absurdos), y si quisiera tomarle el pelo a tu script perfecto, simplemente mentiría.

No te exijas al pedo. Eso que querés, no se puede; es una buena noticia.
  #3 (permalink)  
Antiguo 31/10/2003, 08:00
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Hola, gracias por tu opinion, yo creo que si se puede...porque todo esta en lo que uno quiere...y yo no quiero que un chino o un japones, un ruso o un arabe, me escriba un email porque no me interesa que me lo escriba.
Por otro lado exite el lenguaje morfosintactico como el de los chinos, pero nuestro lenguaje es fonetico, lo que quiere decir que un español, un ingles o un portugues escribe como habla o sea letra por letra y eso tiene determinadas reglas como las detalle arriba, a quien le interese recibir emails de todo el mundo pues que no le ponga filtros a mi me gustria poner este tipo de filtro y creo que no es complicado, el unico problema es que no se programar en javascript.
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #4 (permalink)  
Antiguo 01/11/2003, 14:05
Avatar de wizito  
Fecha de Ingreso: enero-2002
Ubicación: Argentina
Mensajes: 123
Antigüedad: 22 años, 3 meses
Puntos: 0
Hola supermundo. La verdad que tu idea es demasiado buena.
Este tipo de cosas se hacen con algo que se llama "Expresiones regulares" (sumado a algunas funciones de cadena),las cuales se encuentran en java script tanto como en vbscript(por lo tanto tambien en asp,pero del lado del servidor).
yo en lo particular me llevo mejor con vbscript.

Puedes buscar en google por expresiones regulares.

A parte: Esto no seria mas que una utilidad para mejorar la presentacion y la estetica.porque uno identifica a los usuarios por su nic y contraseña.Pero eso no quita su enorme utilidad.

Si necesitas que te ayude, me ofresco.
voy a ver si encuentro algun articulo y te lo posteo aqui.

Salu2
  #5 (permalink)  
Antiguo 03/11/2003, 07:13
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
muchas gracias,...seria fantastico poder encontrar un codigo que puediera hacer esto...gracias por tu ayuda ...mantenme al tanto si encuentras algo...

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #6 (permalink)  
Antiguo 03/11/2003, 07:45
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Hola SuperMundo.

Mi consejo, lejos de desanimarte en cuanto al script que planteas, es que busques un control posterior sobre los datos.

Esto solo tendría sentido si el volumen de la información no es demasiado alto, pero seguro incurrirás en menos errores e injusticias si validas tu mismo (o alguien) los datos que haciendo un script que regule nombres propios.

Tómalo como consejo y sigue adelante con el script si lo consideras mejor.

Saludos.
  #7 (permalink)  
Antiguo 03/11/2003, 07:59
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Gracias, yo no puedo hace run control posterior porque los datos no quedan conmigo...se envian...desde la pagina...he aqui la importancia de validarlos en el momento de su envio...

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #8 (permalink)  
Antiguo 03/11/2003, 12:21
 
Fecha de Ingreso: agosto-2003
Mensajes: 46
Antigüedad: 20 años, 8 meses
Puntos: 0
Si te interesa hay un loco, un linguista "LOCO" que quiso perder el tiempo como tu, se llamaba CHOMSKY.

Bien realmente fue un Crack y gracias a sus teorias sobre los lenguajes tenemos potentes interpretes y compiladores.

Realmente si quieres limitar el tema a un idioma determinado quizas te puedas arrimar a lo deseado.

Busca informacion, Chomsky y teoria de lenguajes formales. SUERTE.
  #9 (permalink)  
Antiguo 03/11/2003, 12:41
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Me parece muy divertido lo que propones. Déjame que lo mire un poco y te digo. Sin embargo te diré que podrá haber nombres perfectamente válidos rechazados... hay que tener cuidado con eso.

Ahora te digo.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #10 (permalink)  
Antiguo 03/11/2003, 13:01
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
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> 
__________________
Cómo escribir

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

Última edición por KarlanKas; 03/11/2003 a las 13:05
  #11 (permalink)  
Antiguo 03/11/2003, 15:55
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Bueno... ya va cobrando forma...

Ya admite vocales acentuadas y más de una palabra. Al final de la comprobación hace un recuento de las palabras y te muestra los resultados. Esto se puede cambiar para que en vez de eso muestre un alert diciendo lo que quieras.

También reformatea el texto introducido para que ponga la primera letra de cada palabra en mayusculas y el resto en minúsculas.

Dime que te parece.

Un saludo!

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

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #12 (permalink)  
Antiguo 03/11/2003, 16:18
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61

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

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #13 (permalink)  
Antiguo 04/11/2003, 03:47
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
lo que he mandado no es válido... si se pone algo del tipo de "aaasss" lo da por bueno...

Sigo investigando... si a alguien se le ocurre alguna idea será bienvenida!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #14 (permalink)  
Antiguo 04/11/2003, 05:59
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
A ver si así está bien
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;

function 
comprobarCoherencia(frase){
laFrase="";
if(!
frase){return false;}
var 
control=0;
frase=frase.toUpperCase();
palabra=frase.split(" ");
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){
comprobado=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(
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 " ": "+palabra[a];
Mensaje+="\n\n Tiene un control: " controlDePalabra[a];

if (
maximoconsonante[a]>2){
Mensaje+="\nTiene mas de dos consonantes juntas";
mal=1;
}
if(
maximovocal[a]>2){
Mensaje+="\nTiene mas de dos vocales juntas";
mal=1;
}

if(
Math.abs(controlDePalabra[a])>2){
Mensaje+="\nTiene una falta de consistencia";
mal=1;
}
if(
palabra[a].length<3){
Mensaje+="\nEs demasiado corta";
mal=1;
}
if (
mal!=1){Mensaje+="\n\n Parece ser valida"}
mal=0;
alert(Mensaje);
}}

</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> 
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #15 (permalink)  
Antiguo 04/11/2003, 06:03
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Obviamente habrá palabras que admita como válidas aunque no lo sean. El clásico "wewewewewew" se colará. Otra cosa es uqe si no quieres que ciertas consonantes entren en la formación de palabras no tienes más uqe quitarlas de la variable consonantes. Por ejemplo la W o la K (aunque entonces te quedas sin los Karlos o los Koldos...) o la Z (y te quedas sin Beatriz)

Quedo a expensas de tu evaluación.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #16 (permalink)  
Antiguo 04/11/2003, 07:24
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Bueno, bueno.

Luego de releer las críticas que este hilo ha generado (la mia entre otras) y de ver el trabajo de KarlanKas para obtener un script que sea util al usuario que asi lo pedía (al margen de que yo usara ese tipo de scripts o no), me gustaría revisar mi posición al respecto y es la siguiente:

Dado el problema que plantea el usuario de querer evitar que llenen los datos de registro (en especial el nombre) con basura, y dado que la página en cuestión no corresponde seguramente a ningún censo de población, y dado a que el desarrollador tiene derecho a pedirle (en favor de la calidad de su data) a Maeinchuuuskka Gutierrez, Maracucha, que por favor use su segundo nombre al registrarse, dado todo eso, digo, me parece que no es mi problema si SuperMundo implementa el algoritmo o si KarlanKas pierde o no su tiempo al escribir el script.

Realmente, estoy seguro de que me hubiese gustado escribirlo yo mismo.

Saludos.
  #17 (permalink)  
Antiguo 04/11/2003, 09:16
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Me parece fantastico tu codigo...desde ya muchisimas gracias...al parecer funciona correctamente...lo he probado solo sin el resto del formulario.
En este caso pone la alerta de que esta correcto el nombre y no hace mas nada se queda ahi, esta bien asi...? o sea no lo envia...en action del form esta la funcion y no la dire mailto: o cgi que comanda el formulario.
En un rato lo pruebo con el formulario y te cuento..más...aunque me gustaria que si el nombre esta correcto no alerte a quien apreta el boton que envie el formulario directamente, si existen errores si que lo alerte...nuevamente muchisimas gracias por tu ayuda.
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #18 (permalink)  
Antiguo 04/11/2003, 09:36
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Cita:
Mensaje Original por Srenau
Si te interesa hay un loco, un linguista "LOCO" que quiso perder el tiempo como tu, se llamaba CHOMSKY.

Bien realmente fue un Crack y gracias a sus teorias sobre los lenguajes tenemos potentes interpretes y compiladores.

Realmente si quieres limitar el tema a un idioma determinado quizas te puedas arrimar a lo deseado.

Busca informacion, Chomsky y teoria de lenguajes formales. SUERTE.
Bueno os cueto que ademas de mi nteres por los sistemas computacionales yo soy estudioso de la lingüistica y de la psicolingüistica ademas de psicologo y ya he leido bastante a Chomsky, Brunen, Piaget y otros, en resumen de lo que hablan es de la gramatica universal la capacidad de generar lenguaje a partir de la nada la interaccion entre la mente cerebro alojada en la parte biologica del mismo.
La interrogante de Platon: Como puedo saber tanto con tan poca experiencia.
La interrogante de Brum: Como se tan poco con toda la información que tengo alrededor.
A partir de estas interrogantes fue que Chomsky empezo a cuestionarse. Como puede ser que un niño de dos o tres años pueda hablar con el mismo nivel de complejidad que un adulto sin que nadie le enseñara a conjugar los verbos, ni los tiempos verbales. Ahi surgio la gramatica universal, algo que todos los seres humanos tenemos y que nos permite generar lenguaje.
La otra cuestión que el cerebro resuelve....es entender una frase con otro significado cuando literalmente dice otra cosa.

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #19 (permalink)  
Antiguo 04/11/2003, 10:31
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
SuperMundo!

Cualquier posible mejora que veas en el código comentala, por favor.

Veo por tus comentarios que no dominas mucho el tema de HTML (corrigeme si me equivoco). Te digo que el script hay que adaptarlo a tu formulario. Dime que quieres que haga en vez de las alertas y te lo adapto.

Por cierto, muy interesante lo que planteas. Lo del niño de 2 años es algo que me he planteado toda mi vida...

Un saludo
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #20 (permalink)  
Antiguo 04/11/2003, 11:05
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Hola ok...se deberia adaptar al siguiente formulario...es un formulario sencillo, pero luego se podría adaptar a otros...

<html>
<head>
<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 -->

<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) == -1 ||
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) == -1 ||
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; }


form.submit();
}

//--></SCRIPT>



<form action="perl/p2.cgi" method=POST>
<INPUT TYPE="hidden" value="Mensaje enviado desde Sitio" 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>Comunicate con el grupo<br></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>
<b>Mensaje:</b><input type="text" NaME="email_body" size="50" value="">
<input onclick=ValidateForm(this.form) type=button value="Enviar">
</tr>
</table>
</form>
<center>
<!-- TERMINa RaPIDOMaIL -->
</body>
</html>

En realidad los alertas deberian surgir si existen errores en caso contrario el control deberia ser transparente para quien envia el mensaje.

Pude observar que cuando se pone mas de un espacio en blanco por ejemplo entre el nombre y el apellido lo toma como un error...eso podría anular el envio.

Saludos, y nuevamente Gracias.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #21 (permalink)  
Antiguo 04/11/2003, 19:01
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Supermundo!

Qué fatalidad! Pensé uqe te había puesto el código adaptado a tu página... lo tengo en el trabajo, luego te lo pongo.

Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #22 (permalink)  
Antiguo 05/11/2003, 03:50
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Aquí está el codigo mejorado e integrado:
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(form.name.value);


}



//------EDITABLE-----------
var palabraMasCorta=2;
var 
maximoDeVocales=2;
var 
maximoDeConsonantes=2;
var 
inconsistenteSiTieneJuntas=3
//---------------------------
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;


function 
comprobarCoherencia(frase){
fraseInicial="";
laFrase="";
if(!
frase){return false;}
var 
control=0;

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
frase
=frase.toUpperCase();
palabra=frase.split(" ");
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){
comprobado=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(
comprobado==0){control+=1000}
if(
isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
laFrase+=(a==0)?letra:letra.toLowerCase();
parabola+=letra
}

}
palabra[b]=parabola;
parabola=""
laFrase+=" ";
controlDePalabra[b]=control;
}

document.forms[0].elements[3].value=laFrase;
if(!
revision){revision=true;comprobarCoherencia(laFrase)}
else {
revision=false;errores()}
}
function 
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;
}
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);malmal=1;}
mal=0;

}
if(
malmal==1){return false;
document.forms[0].elements[3].focus();}
else{
form.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="Mensaje enviado desde Sitio" 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>Comunicate con el grupo
<br>
</font></tr>
<tr border=2 width="90" bgcolor="cyan" bordercolor="red">
<td><b>Para:</b>     <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>
<b>Mensaje:</b><input type="text" NaME="email_body" size="50" value="">
<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.
  #23 (permalink)  
Antiguo 05/11/2003, 04:41
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
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 " ": "+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> 
__________________
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 04:46
  #24 (permalink)  
Antiguo 05/11/2003, 07:11
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Hola, Karlankas muchas gracias por todo, pero lo probe y no envia los datos del formulario...no hace nada o pone un error...de tipo "malmal" no esta definido.!

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #25 (permalink)  
Antiguo 05/11/2003, 07:23
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Jejejeje!

Perdona... es que sólo lo había probado con que fallara.

El código ahora sería:

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(form.name.value);


}



//------EDITABLE-----------
var palabraMasCorta=2;
var 
maximoDeVocales=2;
var 
maximoDeConsonantes=2;
var 
inconsistenteSiTieneJuntas=3
//---------------------------
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;
var 
malmal=0;

function 
comprobarCoherencia(frase){
fraseInicial="";
laFrase="";
if(!
frase){return false;}
var 
control=0;

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
frase
=frase.toUpperCase();
palabra=frase.split(" ");
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){
comprobado=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(
comprobado==0){control+=1000}
if(
isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
laFrase+=(a==0)?letra:letra.toLowerCase();
parabola+=letra
}

}
palabra[b]=parabola;
parabola=""
laFrase+=" ";
controlDePalabra[b]=control;
}

document.forms[0].elements[3].value=laFrase;
 if(!
revision){revision=true;comprobarCoherencia(laFrase)}
else {
revision=false;errores()}
}
function 
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;
}
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);malmal=1;}
mal=0;

}
if(
malmal==1){return false;
document.forms[0].elements[3].focus();}
else{
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="Mensaje enviado desde Sitio" 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>Comunicate con el grupo
<br>
</font></tr>
<tr border=2 width="90" bgcolor="cyan" bordercolor="red">
<td><b>Para:</b>     <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>
<b>Mensaje:</b><input type="text" NaME="email_body" size="50" value="">
<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.
  #26 (permalink)  
Antiguo 05/11/2003, 07:38
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Como era el apellido del marido de la hija de aznar???

Agaar?

P.D.: Karlankas y sus monólogos.... no cambies.

Un beso
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #27 (permalink)  
Antiguo 05/11/2003, 07:42
Avatar de KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 22 años, 4 meses
Puntos: 61
Mi script admitiría perfectamente el apellido ese. A ver que te has creido?

Y no son monólogos... si lo fueran estaría en el club de la comedia!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #28 (permalink)  
Antiguo 05/11/2003, 07:48
Avatar de Helbira  
Fecha de Ingreso: octubre-2001
Ubicación: Sevilla, España
Mensajes: 1.228
Antigüedad: 22 años, 6 meses
Puntos: 5
Nunca dije que no lo admite..... Tampoco lo he probado.. .Lo decia porque me pareció leer en lo que quería SuperMundo que no podía haber dos vocales seguidas en el nombre y me acordé del apellido de esa persona, más que nada porque el hij@ de ellos pronunciarlo es de lo más difícil.

Pero vamos, al final no es Agaar sino Agag.

Un beso..... para el monogolista 1000.
__________________
BUSCO TELETRABAJO
Experiencia de mas de 4 años como desarrolladora web en PHP, ASP, XML, XSL, JavaScript, MySQL, PostGres, SQLServer, ...
  #29 (permalink)  
Antiguo 05/11/2003, 08:10
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Hola, no es dos vocales es mas de dos vocales o mas de dos consonantes funciona perfectamente con los ejemplos que pusiste.!

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
  #30 (permalink)  
Antiguo 05/11/2003, 09:49
 
Fecha de Ingreso: mayo-2002
Mensajes: 34
Antigüedad: 22 años
Puntos: 0
Cita:
Mensaje Original por KarlanKas
Mi script admitiría perfectamente el apellido ese. A ver que te has creido?

Y no son monólogos... si lo fueran estaría en el club de la comedia!
Hola Karlankas tengo un problema en este formulario que sirve para recomendar el sitio por parte de los visitantes, me copia el nombre en la direccion de email y por lo tanto no es valida.

<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) == -1 ||
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) == -1 ||
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(form.name.value);


}



//------EDITABLE-----------
var palabraMasCorta=2;
var maximoDeVocales=2;
var maximoDeConsonantes=2;
var inconsistenteSiTieneJuntas=3
//---------------------------
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;
var malmal=0;

function comprobarCoherencia(frase){
fraseInicial="";
laFrase="";
if(!frase){return false;}
var control=0;

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
frase=frase.toUpperCase();
palabra=frase.split(" ");
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){
comprobado=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(comprobado==0){control+=1000}
if(isNaN(letra) && letra.toUpperCase()!=letra.toLowerCase()){
laFrase+=(a==0)?letra:letra.toLowerCase();
parabola+=letra
}

}
palabra[b]=parabola;
parabola=""
laFrase+=" ";
controlDePalabra[b]=control;
}

document.forms[0].elements[3].value=laFrase;
if(!revision){revision=true;comprobarCoherencia(la Frase)}
else {revision=false;errores()}
}
function 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);malmal=1;}
mal=0;

}
if(malmal==1){return false;
document.forms[0].elements[3].focus();}
else{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 www.SuperMundo.com 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.">
<input onclick=ValidateForm(this.form) type=button value="Enviar">
</tr>
</table>
</form>
<center>
<!-- TERMINa RaPIDOMaIL -->

</body>
</html>

Nuevamente gracias por tu ayuda...te envie un mensaje privado con mas detalles....

Saludos,
Gerardo.!
__________________
Saludos,
<b>Gerardo Maciel</b>
www.SuperMundo.com
[email protected]
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 00:06.