Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/06/2007, 07:08
thisisalexis
 
Fecha de Ingreso: enero-2006
Ubicación: Maracay, Edo. Aragua
Mensajes: 206
Antigüedad: 18 años, 3 meses
Puntos: 0
Pregunta Opinión: Expresiones regulares ¿Cuándo usarlas y cuándo no?

Bueno, siguiendo con una serie de preguntas que he hecho últimamente respecto a las expresiones regulares.

Estos días me ha todaco validar a fondo (en php) los datos enviados desde un formulario antes de introducirlos en la base de datos. Hago validación de lado del cliente (js) pero por si acaso estoy validando también de lado del servidor.

Para ellos he hecho varias funciones, por ejmplo:

Código PHP:
function esCorreo($campo)
{
   ...
}
function 
validarLongitud($campo$desde$hasta)
{
   ...
}
function 
estaVacio($campo)
{
   ...
}

function 
caracteresPermitidos($campo$patronEnExpresionesRegulares)
{
    ...
}
//etc, etc, etc 
La cosa es que he estado leyendo varios manuales y haciendo ejemplos de el uso de las expresiones regulares y ahora me doy cuenta que con sólo utilizar este tipo de expresiones podría validar todo este tipo de condiciones en un campo, haciendo una sola funcion que sería esta
Código PHP:
function caracteresPermitidos($campo$patronEnExpresionesRegulares)
{
     
//Si el patrón coincide con campo, devuelve true, sino, false
            
if(preg_match_all($patronEnExpresionesRegulares$campo)) 
            return 
true;
        else
            return 
false;

Entonces, si quisiera validar que un campo no esté vacio, que tenga entre 10 y 50 caracteres y que solo contenga números, haría la siguiente expresión:

Código PHP:
$patron "/^[0-9]{10,50}$/";
$resultado caracteresPermitidos("12354646"$patron); 
Y listo! en algo tan simple me ahorré varias lineas de código, pues no tuve que llamar a las funciónes esNumerico(), esEntero(), validarLongitud(10,50), estaLleno().

Por todo esto creo que las expresiones regulares son mejores, pues mi código es mucho más "transparente", más limpio.

Pero entonces surgen algunas dudas, como por ejemplo:
¿Estaré haciendo trabajar al servidor más de la cuenta con esto de las expresiones regulares?

¿Estará mal que a cada rato tenga que enviar como parámetro la misma expresión?

A futuro, si otra persona que no soy yo debe modificar este sistema (que estoy desarrollando para la empresa) ¿se hará muy engorroso entender que fue lo que hice con esas expresiones?

Bueno, es su opinión lo que quiero; cualquier aporte es bueno; quisiera saber las ventajas y las desventajas de uno u otro método a corto, mediano y largo plazo.

Saludos

Última edición por thisisalexis; 06/06/2007 a las 08:23