Foros del Web » Programando para Internet » PHP »

Expresions regulares... HELP!

Estas en el tema de Expresions regulares... HELP! en el foro de PHP en Foros del Web. Buenas, llevo años programando en php pero soy incapaz de comprender cómo funcionan las expresiones regulares :( La cosa es que necesito validar una contraseña, ...
  #1 (permalink)  
Antiguo 25/06/2009, 12:27
 
Fecha de Ingreso: noviembre-2008
Mensajes: 5
Antigüedad: 16 años
Puntos: 0
Expresions regulares... HELP!

Buenas, llevo años programando en php pero soy incapaz de comprender cómo funcionan las expresiones regulares :(
La cosa es que necesito validar una contraseña, de forma que garantice que ésta contiene al menos un carácter en minúscula, un carácter en mayúscula y un número, y además su longitud es de entre 6 y 20 caracteres.
tengo este código:
Código:
if (preg_match('/[a-zA-Z0-9]([^a-zA-Z0-9]{6,20})?/', $clave){
return true
}
Pero no consigo que me haga lo que quiero, alguna sugerencia?

Y ya de paso, alguien sabe de algún manual que explique de forma sencilla y práctica cómo va esto de las expresiones regulares? gracias!
  #2 (permalink)  
Antiguo 25/06/2009, 12:35
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 8 meses
Puntos: 6
Respuesta: Expresions regulares... HELP!

Visita esta página http://gollum.inforg.uniovi.es/aii/valida_regexp.php, la verdad es que es para expresiones regulares en javascript pero es sumamente sencillo adaptarlas a php. Lo bueno de ese sitio es que puedes probar ahí mismo tus expresiones y patrones. ;)
  #3 (permalink)  
Antiguo 25/06/2009, 14:45
 
Fecha de Ingreso: marzo-2009
Mensajes: 133
Antigüedad: 15 años, 7 meses
Puntos: 4
Respuesta: Expresions regulares... HELP!

podrias intentar con:
Código PHP:


if(ereg("[a-z]",$clave)  &&  ereg("[A-Z]",$clave)  )
// revisamos que tenga una minuscula y una mayuscula, si las dos condiciones son verdaderas entra
{

// Ahora revisamos que $clave tenga una logitud entre 4 y 20 caracteres
 
if ( strlen($clave)>=4  &&  strlen($clave)<=20)
        {
  echo 
"correcto";
        }else
            {
     echo  
$mensaje_error1=" minimo 4 caracteres";
            }

}else
    {
// else ereg
   
echo   $mensaje_error2='No contienen por lo menos una mayuscula o minuscula ';
    }
// else ereg 

Sinceramente no lo he probado, pero intentalo, o podiras anidar un elseif para cada condición

SUERTE!!
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 22:11.