Ver Mensaje Individual
  #48 (permalink)  
Antiguo 01/10/2004, 08:44
SuperMundo
 
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]