Foros del Web » Programando para Internet » Javascript »

coincidir contraseña

Estas en el tema de coincidir contraseña en el foro de Javascript en Foros del Web. tengo el siguiente codigo javascript que valida un form y pinta los campos que estan vacios (sacado de las faqs) este codigo funciona bien ahora ...
  #1 (permalink)  
Antiguo 25/10/2005, 17:30
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
coincidir contraseña

tengo el siguiente codigo javascript que valida un form y pinta los campos que estan vacios (sacado de las faqs) este codigo funciona bien ahora tengo dentro del formulario dos campos contraseña y repetir contraseña .. pero no logro que me valide si las contraseñas son iguales este es codigo javascript

Código:
    <script>

<!--
//Script original de KarlanKas para forosdelweb.com 

    colorMal="#eeddee"; 
    colorBien="white"; 
     
    regla=new Array() 

    regla[0]="valor.length<0"; 
    regla[1]="valor.length<5";
    regla[2]="valor.length<5";
    regla[3]="valor.length<0";
	regla[4]="valor.length<5";
	regla[5]="valor.length<3";
	regla[6]="valor.length<3";
	regla[7]="valor.length<4"; 
	regla[8]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3"; 
	regla[9]="valor.length<0";
	regla[10]="valor.length<6";
	regla[11]="valor.length<0";
	regla[12]="valor.length<0";
	regla[13]="valor.length<0";
	regla[14]="valor.length<4";
	regla[15]="valor.length<4";
	regla[16]="valor.length<4";
    
	mensaje=new Array()

    mensaje[0]=""; 
    mensaje[1]="Falta tu nombre"; 
    mensaje[2]="Falta tu DNI o CE";
	mensaje[3]="";
	mensaje[4]="Falta tu domicilio";
	mensaje[5]="Falta Estado/Provincia";
	mensaje[6]="Falta Pais";
	mensaje[7]="Falta tu telefono";
	mensaje[8]="Correo inválido";
	mensaje[9]="";
	mensaje[10]="Falta el dominio";
	mensaje[11]="";
	mensaje[12]="";
	mensaje[13]="";
	mensaje[14]="falta usuario";
	mensaje[15]="falta contraseña";
	mensaje[16]="repita la contraseña";
     
    function comprobar(){ 
    errores=""; 
    mensaje2=""; 
    for(a=0;a<regla.length;a++){ 
    valor=document.forms[0].elements[a].value; 
    if(eval(regla[a])){ 
    mensaje2=(mensaje[a])?mensaje[a]:"Por favor, rellene el campo "+document.forms[0].elements[a].name; 
    errores+=mensaje2+"<br>"; 
    document.forms[0].elements[a].style.background=colorMal;} 
    else{document.forms[0].elements[a].style.background=colorBien;} 
    } 

    herror.style.background=(errores!="")?colorMal:colorBien; 
    herror.style.border=(errores!="")?"solid 1px black":"none"; 
    herror.innerHTML=errores; 

    return (errores=="") 
    }

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
como hago para que coincidan la contraseñas????????
  #2 (permalink)  
Antiguo 25/10/2005, 23: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
cambia regla[16] por:

regla[16]="document.forms[0].elements[15].value!=valor";

Y el mensaje[16] por:

mensaje[16]="Las contraseñas no coinciden";

Espero que te sirva!

PD.- Vaya, ni me acordaba de este script... ahora tal vez lo hiciera de otra forma...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 26/10/2005, 09:22
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
gracias dobles funciono!!! por el script y por el arreglo!!
  #4 (permalink)  
Antiguo 26/10/2005, 09:28
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
Gracias por dar las gracias!

Y me alegro de que te funcionara!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 26/10/2005, 12:09
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
una cosa mas si tengo que validar un radio button que regla uso?

regla[17]=????
  #6 (permalink)  
Antiguo 26/10/2005, 12:22
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
Depende de dónde lo pongas en el código.

los números son en función del orden en que están puestos dentro del formulario.

Tal vez lo más sencillo es un pequeño cambio en el checkeo. Cada campo del formulario tiene un name, verdad? (<input type="text" name="pepe"...). Pues vamos a jugar con eso para que te sea más sencillo añadir nuevas reglas. El código quedaría así:

Código PHP:
<!--
//Script original de KarlanKas para forosdelweb.com 

    
colorMal="#eeddee"
    
colorBien="white"
     
    
regla=new Array() 

    
regla[0]="valor.length<0"
    
regla[1]="valor.length<5";
    
regla[2]="valor.length<5";
    
regla[3]="valor.length<0";
    
regla[4]="valor.length<5";
    
regla[5]="valor.length<3";
    
regla[6]="valor.length<3";
    
regla[7]="valor.length<4"
    
regla[8]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3"
    
regla[9]="valor.length<0";
    
regla[10]="valor.length<6";
    
regla[11]="valor.length<0";
    
regla[12]="valor.length<0";
    
regla[13]="valor.length<0";
    
regla[14]="valor.length<4";
    
regla[15]="valor.length<4";
    
regla[16]="valor.length<4";
    
    
mensaje=new Array()

    
mensaje[0]=""
    
mensaje[1]="Falta tu nombre"
    
mensaje[2]="Falta tu DNI o CE";
    
mensaje[3]="";
    
mensaje[4]="Falta tu domicilio";
    
mensaje[5]="Falta Estado/Provincia";
    
mensaje[6]="Falta Pais";
    
mensaje[7]="Falta tu telefono";
    
mensaje[8]="Correo inválido";
    
mensaje[9]="";
    
mensaje[10]="Falta el dominio";
    
mensaje[11]="";
    
mensaje[12]="";
    
mensaje[13]="";
    
mensaje[14]="falta usuario";
    
mensaje[15]="falta contraseña";
    
mensaje[16]="repita la contraseña";
     
    function 
comprobar(){ 
    
errores=""
    
mensaje2=""
    for(
a=0;a<regla.length;a++){ 
campo=document.forms[0].elements[a];
    
valor=document.forms[0].elements[a].value;
    
b=(regla[campo.name])?campo.name:a;
    if(eval(
regla[b])){ 
    
mensaje2=(mensaje[b])?mensaje[b]:"Por favor, rellene el campo "+document.forms[0].elements[a].name
    
errores+=mensaje2+"<br>"
    
document.forms[0].elements[b].style.background=colorMal;} 
    else{
document.forms[0].elements[b].style.background=colorBien;} 
    } 

    
herror.style.background=(errores!="")?colorMal:colorBien
    
herror.style.border=(errores!="")?"solid 1px black":"none"
    
herror.innerHTML=errores

    return (
errores==""
    } 
Ahora si quieres añadir una regla pones:

regla['name_del_checkbox']=campo.checked;
mensaje['name_del_checkbox']="Tiene que marcar el checkbox de arriba";

Así, por ejemplo, si añades este campo al formulario:

<input type="checkbox" name="pepe" value="1" />Estoy de acuerdo con que me arranquen el corazón.

La regla debe ser:
regla['pepe']=campo.checked;
mensaje['pepe']="Tiene que querer que le arranquemos el corazón para ganar la bicicleta de montaña.";


Dime si me he explicado bien y te funciona.
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #7 (permalink)  
Antiguo 26/10/2005, 13:03
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
ok seria asi:
pongo una parte del codigo

regla[16]="valor.length<4";
regla[pepe]=campo.checked


bueno se me paso algo por alto tengo que poner algo 3 radio button y el usuario tiene que chequear uno solo como seria el codigo
  #8 (permalink)  
Antiguo 26/10/2005, 13:06
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
No, tiene que ser regla['pepe']=!campo.checked, es decir, con pepe entre comillas (si ese es el name de pepe).

La regla para los radio sería:

regla['namedelosradio']=!valor;
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #9 (permalink)  
Antiguo 26/10/2005, 15:18
 
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 461
Antigüedad: 22 años, 3 meses
Puntos: 1
disculpaque te moleste de vuelta si quiero que los errores aparezcan en una ventana de alerta como hago? no se nada de javascript
  #10 (permalink)  
Antiguo 26/10/2005, 16:14
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

Prueba con esto:

Código PHP:
<script>
//Script original de KarlanKas para forosdelweb.com

    
colorMal="#eeddee";
    
colorBien="white";
     
    
regla=new Array()

    
regla[0]="valor.length<0";
    
regla[1]="valor.length<5";
    
regla[2]="valor.length<5";
    
regla[3]="valor.length<0";
    
regla[4]="valor.length<5";
    
regla[5]="valor.length<3";
    
regla[6]="valor.length<3";
    
regla[7]="valor.length<4";
    
regla[8]="valor.lastIndexOf('@')!=valor.indexOf('@') || valor.indexOf('@')<2 || valor.lastIndexOf('.')<valor.length-4 || valor.lastIndexOf('.')>valor.length-3";
    
regla[9]="valor.length<0";
    
regla[10]="valor.length<6";
    
regla[11]="valor.length<0";
    
regla[12]="valor.length<0";
    
regla[13]="valor.length<0";
    
regla[14]="valor.length<4";
    
regla[15]="valor.length<4";
    
regla[16]="valor.length<4";
    
    
mensaje=new Array()

    
mensaje[0]="";
    
mensaje[1]="Falta tu nombre";
    
mensaje[2]="Falta tu DNI o CE";
    
mensaje[3]="";
    
mensaje[4]="Falta tu domicilio";
    
mensaje[5]="Falta Estado/Provincia";
    
mensaje[6]="Falta Pais";
    
mensaje[7]="Falta tu telefono";
    
mensaje[8]="Correo inválido";
    
mensaje[9]="";
    
mensaje[10]="Falta el dominio";
    
mensaje[11]="";
    
mensaje[12]="";
    
mensaje[13]="";
    
mensaje[14]="falta usuario";
    
mensaje[15]="falta contraseña";
    
mensaje[16]="repita la contraseña";
     
    function 
comprobar(){
    
errores="";
    
mensaje2="";
    for(
a=0;a<regla.length;a++){
campo=document.forms[0].elements[a];
    
valor=document.forms[0].elements[a].value;
    
b=(regla[campo.name])?campo.name:a;
    if(eval(
regla[b])){
    
mensaje2=(mensaje[b])?mensaje[b]:"Por favor, rellene el campo "+document.forms[0].elements[a].name;
    
errores+=mensaje2+"\n";
    
document.forms[0].elements[b].style.background=colorMal;}
    else{
document.forms[0].elements[b].style.background=colorBien;}
    }

   
alert(errores);

    return (
errores=="")
    } 
Un saludo!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
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 09:31.