Voy a mostrar un script con el cual vamos a poder llamar una funcion que permite hacer las siguientes comprobaciones:

  • Que la clave tiene al menos 6 caracteres
  • Que el password tiene como máximo 16 caracteres
  • Que tiene al menos 1 letra minúscula
  • Que al menos tiene 1 letra mayúscula
  • Que tiene al menos un carácter numérico

Para hacer la función en realidad necesitaríamos recibir solamente la clave a ser validada y se devolvería un boleano para decir si es o no válida la contraseña. Pero por mejorarlo un poco, hemos decidido recibir dos parámetros, uno con la propia clave y otro con una variable que recibiremos por referencia y que rellenaremos con el error que se haya detectado, si es que no se validó el password.

La función para validar contraseñas

function validar_clave($clave,&$error_clave){
if(strlen($clave) < 6){
$error_clave = “La clave debe tener al menos 6 caracteres”;
return false;
}
if(strlen($clave) > 16){
$error_clave = “La clave no puede tener más de 16 caracteres”;
return false;
}
if (!preg_match(‘`[a-z]`’,$clave)){
$error_clave = “La clave debe tener al menos una letra minúscula”;
return false;
}
if (!preg_match(‘`[A-Z]`’,$clave)){
$error_clave = “La clave debe tener al menos una letra mayúscula”;
return false;
}
if (!preg_match(‘`[0-9]`’,$clave)){
$error_clave = “La clave debe tener al menos un caracter numérico”;
return false;
}
$error_clave = “”;
return true;
}

Como hemos podido ver, es una función bien simple. Va revisando punto por punto todas las cosas que queremos comprobar en la clave. Usa expresiones regulares bien sencillas para saber si tiene al menos una letra (una expresión para ver si tiene minúsculas y otra para mayúsculas) y al menos un número.

Podríamos añadir o quitar de la función tantas validaciones como deseemos, para que se ajuste a nuestras necesidades. Por ejemplo, si además deseásemos que la contraseña tuviera sólo caracteres alfanuméricos (números y letras), podríamos haber utilizado también la función PHP ctype_alnum(), que recibe un string y devuelve TRUE si sólo encontró números y letras en esa cadena y FALSE si encontró otro tipo de caracteres.

Para probar esta función hemos hecho una página bien simple, que muestra un formulario con un campo password y recibe ese campo para validarlo, mostrando el resultado de la validación y el posible error que se haya encontrado.


<html>
<head>
<title>Validar Password</title>
</head>

<body>
<?

function validar_clave($clave,&$error_clave){
if(strlen($clave) < 6){
$error_clave = “La clave debe tener al menos 6 caracteres”;
return false;
}
if(strlen($clave) > 16){
$error_clave = “La clave no puede tener más de 16 caracteres”;
return false;
}
if (!preg_match(‘`[a-z]`’,$clave)){
$error_clave = “La clave debe tener al menos una letra minúscula”;
return false;
}
if (!preg_match(‘`[A-Z]`’,$clave)){
$error_clave = “La clave debe tener al menos una letra mayúscula”;
return false;
}
if (!preg_match(‘`[0-9]`’,$clave)){
$error_clave = “La clave debe tener al menos un caracter numérico”;
return false;
}
$error_clave = “”;
return true;
}

if ($_POST){
$error_encontrado=””;
if (validar_clave($_POST[“clave”], $error_encontrado)){
echo “PASSWORD VÁLIDO”;
}else{
echo “PASSWORD NO VÁLIDO: ” . $error_encontrado;
}
}

?>
<P>
<form action=”validar-password.php” method=”post”>
Escribe una clave:
<input type=password name=”clave”>
<input type=”submit” value=”Enviar”>
</form>

</body>
</html>

Estructura y Herencia La estructura del documento es determinante para la forma en que CSS aplica los estilos al documento, sobre todo en torno a las relaciones entre pad...
WhatsApp permitirá agregar stickers y emojis en las fotos Ahora la 'app' permite agregar emojis, stickers, textos y la posibiliadad de dibujar encima de las fotos, una función que ya utilizan otras redes soci...
Que es una Red social de ciencia? Las redes sociales, por definición, son una buena opción para el trabajo de equipo de investigación con temáticas e intereses comunes, que pueden comp...
Según un estudio,Hoteles y Operadores Turísticos son las pymes que más usan redes sociales La crisis está reduciendo no solo el número de puestos de trabajo, sino también el tejido de pequeñas y medianas empresas. De 2010 a 2011 el número d...
Microjs: Micro-Frameworks de Javascript Pese a la importancia que hoy en día tienen el uso de frameworks como jQuery o Mootools para nuestros proyectos web, no siempre usamos de forma comple...
Apple, ya cuenta con la especificación WiFi 802.11ac Apple podría ser uno de los primeros fabricantes en abrazar la especificación para WiFi 802.11ac, actualmente en desarrollo. La compañía de la manz...
mysql-client-encoding mysql_client_encoding — Devuelve el nombre del juego de caracteres Descripción string mysql_client_encoding ( ) Recupera la variable charac...
Un error en Twitter provoca que un usuario deje de seguir a otro Probablemente a más de un usuario de Twitter se le rompió el corazón al descubrir que aquella persona que seguía de repente dejó de hacerlo, pero prob...
Como funcionan los Test de Velocidad de Internet Los test de velocidad de internet  son básicamente paquetes de software colgados en internet que permiten monitorear la velocidad a que tu proveedor d...
Script para validar una clave en PHP
Tagged on: