Foros del Web » Programando para Internet » PHP »

Opinión: Expresiones regulares ¿Cuándo usarlas y cuándo no?

Estas en el tema de Opinión: Expresiones regulares ¿Cuándo usarlas y cuándo no? en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 06/06/2007, 07:08
 
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
  #2 (permalink)  
Antiguo 06/06/2007, 07:32
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Opinión: Expresiones regulares ¿Cuándo usarlas y cuándo no?

con comentar lo que hace el codigo creo que basta ;)

Sobre el consumo de recursos creo que es mucho mejor utilizar expresiones regulares pero bueno, solo sería cuestión de contar cuanto tarda.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
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 01:35.