Expresiones regulares

Cuando me tocó desarrollar un "pequeño" módulo de registro de datos fiscales de clientes para una refaccionaria, para posteriormente elaborar un reporte de factura (faltó lo del timbrado), sabía que los RFC (Registro Federal de Contribuyentes, no los Request For Comments) tienen una longitud de 12 o 13 caracteres (persona moral y persona física respectivamente) y que están compuestos por números y letras. Pensé que sería algo fácil de validar, pero después me di de golpes contra la pared para validar todos los RFC. Nunca fui bueno creando expresiones regulares y pues ahí intentaba generar un patrón que validara la cadena. Creo que solamente pude validar un solo caso.

Posteriormente me acordé que el SAT tiene un validador de RFC (ya lo había usado anteriormente pero en su momento no me acordaba de eso). Chequé el código fuente de los scripts esperando encontrar el regex (regular expression, en español expresión regular) hasta que lo encontré (ya había gastado días tratando de validar los RFC). Creé un método en JS para validar las cadenas y funcionó.

Aquí les comparto la función:


Pero a todo esto, ¿qué es una regex?
Las expresiones regulares son patrones utilizados para encontrar una determinada combinación de caracteres dentro de una cadena de texto. En JavaScript, las expresiones regulares también son objetos. Estos patrones son utilizados a través de los métodos exec y test de RegExp, así como los métodos match, replace, search y split de String. En este capítulo se describe el uso y funcionamiento de las expresiones regulares en JavaScript.

En la liga anterior podrán encontrar cómo formar una regex y los patrones que pueden emplear. Es algo tedioso, pero si quieres algo rápido busca en Internet algo ya hecho y adáptalo a tu proyecto (a no ser que tengas que crear una regex para una cadena en específico, por lo cual si convendría leer el artículo y si quedan dudas pedirle ayuda a un experto).

Algo random, pero ahora les presento un validador de CURP que tomé del portal oficial (por si alguna vez lo llegan a ocupar):

Este otro recurso es muy bueno para aprender, crear y probar expresiones regulares. Y este otro que contiene varias expresiones para usar en proyectos. Espero les sirvan.

¡Disfrútenlos!

Comentarios

Entradas populares