Foros del Web » Programando para Internet » PHP »

validando contraseña

Estas en el tema de validando contraseña en el foro de PHP en Foros del Web. Hola todos, Quisiera validar una nueva contraseña que el usuario ingrese con ciertas condiciones. - que tenga al menos una letras minuscula - al menos ...
  #1 (permalink)  
Antiguo 11/06/2005, 01:32
 
Fecha de Ingreso: abril-2003
Mensajes: 150
Antigüedad: 21 años
Puntos: 1
validando contraseña

Hola todos,

Quisiera validar una nueva contraseña que el usuario ingrese con ciertas condiciones.
- que tenga al menos una letras minuscula
- al menos una letra mayuscula
- y un numero.

Supongo que debo meter en un array la variable de la contraseña $pass. Y empezar a recorrer el vector y validar. O hay otra manera?

Empece a escribir un codigo que aun no he probado. Mas tarde lo pruebo
pero me gustaria que si tienen una mejor idea y comentarios me los hagan saber... lo hice muy basico, pero la idea es algo asi:

Código PHP:
$pass= "hT7yT8TGg";
$min=false;
$may=false;
$num=false;
$i=0;

while ($min=='false' || $may=='false') {
    if (chr($pass[$i]) > 96 && chr($pass[$i]) < 123 && $min!='true') {
        /* minusculas */
        $min=true;
    } elseif (chr($pass[$i]) > 64 && chr($pass[$i]) < 91 && $may!='true') {
        /* mayuscula */
        $may=true;
    } 
$i++;
}
/* numero */
for ($i=0;$i<??;$i++) { //Fin de archivo??
    
if (chr($pass[$i]) > 47 && chr($pass[$i]) < 58)) {
        if (
$num=='false'){
            
$num=true;
        }
        else {
            
$num=false;
            
$i=??+1;
        }
    }
}

if (
$min=='false' || $may=='false' || $num=='false') {
    echo 
"Password no valido";

else {
    echo 
"Password valido";
}
tengo una duda. Si el password no se que longitud tiene, como puedo irme hasta el fin del vector?

otra duda la tengo con la verificacion de que exista un solo numero...

Gracias por su atencion
Liz
  #2 (permalink)  
Antiguo 11/06/2005, 01:50
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Bueno... para esto es mejor utilizar expresiones regulares. No soy un experto en el tema, por eso tal vez no dé con el patrón adecuado.
De todas maneras, podrías empezar probando a validarla así:
Código PHP:
if(ereg("[A-Z]"$password)    && ereg("[a-z]"$password)    && ereg("[0-9]"$password)){
    echo 
"OK!!";
}else{
    echo 
"NO!!";

Eso quiere decir:
Si hay algún caracter alfabéico en mayúsculas ([A-Z]) y algún caracter alfabético en minúsculas ([a-z]) y algún caracter numérico ([0-9]), entonces es válida.

Lo otro de "un sólo número" no te lo entendí.

Saludos
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 12:10.