Temas a tratar:
- expresiones regulares - v
- switch ($parametro_entrada) - f
expresiones regulares - validación: son una cadena de caracteres que forman un patrón, con el fin de que sea comparada con otra cadena de caracteres y verificar si esta coincide o no con el patrón.
Por ejemplo:
si se desea validar un email debemos crear un patrón capaz de verificar que este sea válido. Para definir un patrón debemos entender y analizar lo que deseamos validar:
- Un email inicia con caracteres como: a-z0-9_-.
- seguido de un solo @
- con un nombre de dominio con caracteres: a-z0-9-
- y debe terminar con una extensión de dominio con caracteres como: a-z.
Ya una vez entendido lo que deseamos validar podemos iniciar a crear nuestro patrón:
- ^ : Debe presentarse al inicio de la cadena.
- + : Se presenta 1 o mas veces.
- * : Se presenta 0 o mas veces.
- ? : Se presenta 0 o 1 vez.
- $ : Debe presentarse al final de la cadena.
- | : condicional or.
- . : cualquier caracter.
- [] : Agrupa los caracteres que deben de presentarse.
- {} : define el número de veces que debe presentarse, {n}, {n,m}
- \ : escape, sirve para que los caracteres especiales formen parte del patrón.
- Un email inicia con caracteres como: ^[_a-z0-9-]+ y puede contener uno o mas puntos pero no al inicio ni al final: (\.[_a-z0-9-]+)*
- seguido de un solo @: @
- con un nombre de dominio con caracteres: [a-z0-9-]+
- y debe terminar con una extensión del dominio con caracteres como: (\.[a-z]{2,3}+)?(\.[a-z]{2,3})$
En resultado tenemos:
$patron = "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z]{2,3}+)?(\.[a-z]{2,3})$";
if(eregi($patron, "correo@electrónico.com")){
echo "correo válido";
} else {
echo "correo no válido";
}
switch ($parametro_entrada) - filtro: si tenemos una variable que recibimos por GET o por POST, como: pagina.php?var=mensaje uno, pagina.php?var=mensaje dos, etc.
$var = $_GET['var'];
echo $var;
lo mejor es utilizar identificadores para cada uno de los mensajes como los siguientes: pagina.php?var=1, pagina.php?var=2 y filtrar su valor con un switch case. Esto es debido a que si dejamos pagina.php?var=mensaje uno, cualquier usuario podría definir el mensaje al cambiar el valor en la url.
$var = $_GET['var'];
switch (initval($var)) {
case 1:
echo "mensaje uno";
break;
case 2:
echo "mensaje dos";
break;
case 3:
echo "mensaje tres";
break;
default:
echo "no es un mensaje esperado";
}
No hay comentarios:
Publicar un comentario