Las expresiones regulares en programación son muy útiles para validar campos enviados y parámetros recibidos de formularios web, ya sean de contacto, usuario y contraseña o de cualquier otro tipo. Es cierto que las expresiones regulares pueden ser muy complejas, pero con algunos ejemplos sencillos y un poco de práctica podemos apreciar su verdadera potencia. En el mercado existen muchas soluciones predefinidas para no tener que ir validando manualmente los parámetros y “parseando” las entradas, pero hace tiempo que yo vengo utilizando algunas funciones propias que de forma sencilla evitan el tan temido SQL inyectado. En ASP es muy fácil utilizar expresiones regulares. Por ejemplo, para validar cadenas numéricas y alfanuméricas, utilizo estas dos funciones:
function esValidoNum(cadena) set expReg = New RegExp expReg.Pattern = "^[0-9]+$" esValidoNum = expReg.Test(cadena) and len(cadena) < 6 set expReg = nothing end function function esValidoAlfaNum(cadena) set expReg = New RegExp expReg.Pattern = "^[a-zA-Z0-9-]+$" esValidoAlfaNum = expReg.Test(cadena) and len(cadena) < 256 set expReg = nothing end function
Como norma general, en primer lugar se declara la variable que tendrá la expresión regular y se le especifica el patrón a seguir mediante los diferentes símbolos:
^ : comienzo de la expresión regular
$ : fin de la expresión regular
+ : utilizado para especificar una o más apariciones de los símbolos precedentes
[...] : rango
Así pues en el primer ejemplo anterior se validan expresiones numéricas, es decir, una o más repeticiones de números entre 0 y 9, y de longitud menor que 6 (len(cadena)<6), mientras que en el segundo se validan cadenas alfanuméricas (sin acentos, ñ, ç,…), es decir, una o más repeticiones de letras minúsculas entre a y z, mayúsculas entre A y Z, números entre 0 y 9 y guiones (-), y de longitud menor de 256 carácteres (len(cadena)<256).
Con estas simples pero potentes funciones podemos validar usuarios y contraseñas y parámetros sencillos pasados por GET o POST como id’s, cadenas simples,…
En todos los lenguajes existen las expresiones regulares y el uso es bastante similar. De hecho, en Javascript es muy fácil utilizar las funciones para validar los campos en el cliente antes de enviar el formulario web.
Se pueden encontrar expresiones regulares predefinidas para validar e-mails, teléfonos, fechas, horas,… en RegExLib, una web muy útil.
Otros artículos relacionados:
- Validar fechas con expresiones regulares en ASP y Javascript
- Validar direcciones de e-mail con expresiones regulares en ASP y Javascript
- Validar direcciones de Internet o URL’s con expresiones regulares en Javascript
- Reemplazar carácteres con expresiones regulares en ASP para generar URL’s amigables
- Evitar la caché de los navegadores al actualizar contenidos web con asp y jscript
- Eliminar saltos de línea en un textarea con Javascript
- La World Wide Web y el HTML cumplen 20 años
- Interpretar páginas web estáticas como php, asp o cualquier lenguaje
- Codificación UTF-8 incorrecta en PHP leyendo una base de datos MySQL
Entradas (RSS)