Foros del Web » Programando para Internet » Javascript »

Qué fallo veis aquí?

Estas en el tema de Qué fallo veis aquí? en el foro de Javascript en Foros del Web. Buenas, he hecho un script y no funciona por algún fallo tonto, creo que son las llaves, aún así me podeis echar una manilla por ...
  #1 (permalink)  
Antiguo 11/10/2004, 04:26
 
Fecha de Ingreso: octubre-2004
Mensajes: 10
Antigüedad: 19 años, 7 meses
Puntos: 0
Qué fallo veis aquí?

Buenas, he hecho un script y no funciona por algún fallo tonto, creo que son las llaves, aún así me podeis echar una manilla por favor.
He colocado en un formulario un onSubmit = "return validar()" y este es el script:
Código PHP:
<script>
function 
validar() {
  if (
formulario.password.value.length 6) {
    
alert("La contraseña tiene que contener como mínimo 6 caracteres");
    
formulario.password.focus();
    return (
false);
  }

  var 
checkOK"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +  
"abcdefghijklmnopqrstuvwxyz" "0123456789_" ;
  var 
checkStr formulario.password.value;
  var 
allValid true
  for (
0checkStr.lengthi++) {
    
ch checkStr.charAt(i); 
    for (
0checkOK.lengthj++)
      if (
ch == checkOK.charAt(j))
        break;
    if (
== checkOK.length) { 
      
allValid false
      break; 
    }
  
  if (!
allValid) { 
    
alert("La contraseña tiene que contener caracteres estandar"); 
    
formulario.password.focus(); 
    return (
false); 
  } 
}
</script> 
  #2 (permalink)  
Antiguo 11/10/2004, 04: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
He simplificado un poco tu script usando el indexOf(string). Ya no da error:
Código HTML:
<script>
function validar() {
  if (formulario.password.value.length < 6) {
    alert("La contraseña tiene que contener como mínimo 6 caracteres");
    formulario.password.focus();
    return (false);
  }

  var checkOK= "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789_" ;
  var checkStr = formulario.password.value;
  var allValid = true;
  for (i = 0; i < checkStr.length; i++) {
    ch = checkStr.charAt(i);
	if(checkOK.indexOf(ch)!=-1){
      		allValid = false;
      		break;
    }
  }
  if (!allValid) {
    alert("La contraseña tiene que contener caracteres estandar");
    formulario.password.focus();
    return (false);
  }
}
</script> 
Espero que te sirva!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #3 (permalink)  
Antiguo 11/10/2004, 05:00
 
Fecha de Ingreso: octubre-2004
Mensajes: 10
Antigüedad: 19 años, 7 meses
Puntos: 0
Perfecto! Gracias, muy amable.
  #4 (permalink)  
Antiguo 11/10/2004, 05:29
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
De nada!

A mandar!
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.
  #5 (permalink)  
Antiguo 11/10/2004, 10:19
Avatar de Carlitos
Usuario no validado
 
Fecha de Ingreso: mayo-2001
Ubicación: Zaragoza
Mensajes: 1.304
Antigüedad: 23 años
Puntos: 25
de todas formas, al primer for le faltaba cerrar ( } ) y al segundo for le faltaba abrir ( { ) y cerrar ( } )
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 05:49.