Una expresión regular es una secuencia de caracteres que forman un patrón de búsqueda y que principalmente es utilizado en la búsqueda de cadenas de texto. Encontraremos toda la información acerca de las expresiones regulares en los enlaces que facilitamos a continuación:
Las expresiones regulares no es algo exclusivo de Javascript, cualquier lenguaje de programación debe tener una implementación de estas expresiones regulares. Las expresiones regulares nos van a ayudar mucho cuando queramos hacer validaciones, como por ejm, validar correos electrónicos, teléfonos, DNIs…
Es importante saber manejar las expresiones regulares con soltura, pero no es necesario aprenderse de memoria la sintaxis de las mismas. Si hacemos una búsqueda en Google acerca de la validación que estemos buscando (un DNI, un teléfono, un email…) seguramente ya existe alguien que ha creado el patrón para ello. Es importante familiarizarse con sus comodines, pero no saberlos de memoria.
Definir una expresión regular en Javascript
Existen dos maneras de definir una expresión regular. Veamos un ejm.
Ejm
let cadena = "Hola mi nombre es Francisco, soy Francisco Paredes"; // Primera manera de expresar un expresión regular let expReg = new RegExp("Fancisco", ""); // Segunda manera de expresar una expresión regular let expReg2 = /lorem/;
Como hacer que Javascript valide este patrón
Existen varios métodos para ello, los más habituales son el método test() y el método exec().
Ejm
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Expresiones regulares en Javascript</title> </head> <body> <h1>Expresiones regulares en Javascript</h1> <script> let cadena = "Hola mi nombre es Francisco, soy Francisco Paredes"; // Primera manera de expresar un expresión regular let expReg = new RegExp("francisco", "gi"); // Segunda manera de expresar una expresión regular let expReg2 = /Francisco/gi; console.log(expReg.test(cadena)); // Devuelve true si encuentra la cadena console.log(expReg.exec(cadena)); // Devueleve un Array con más información console.log(expReg2.test(cadena)); // Devuelve true si encuentra la cadena console.log(expReg2.exec(cadena)); // Devueleve un Array con más información </script> </body> </html>
Banderas
Las banderas son comodines que podemos utilizar para validar, algunas de las más usadas son:
- \d: dígito
- \g: se puede repetir
- []: listado válido
- {}: indican repetición
Para ver todo acerca de las expresiones regulares podéis ir a los enlaces de Wikipedia o de MDN.