Descubre cómo usar RegExp en JavaScript
Aprende a trabajar con patrones de búsqueda y reemplazo en tu proyecto
La función RegExp() es una herramienta poderosa en JavaScript que permite realizar patrones de búsqueda y reemplazo en cadenas de texto. Esta función se utiliza comúnmente para validar datos de entrada, buscar y reemplazar subcadena dentro de una cadena, extraer información específica de un conjunto de datos y mucho más.
1. Extraer email de una cadena de texto
Para extraer emails de una cadena de texto, se puede utilizar la expresión regular /\S+@\S+\.\S+/g. Esta expresión regular busca cadenas de texto que contengan un carácter no espacio (\S), seguido de un símbolo @, otro carácter no espacio y un punto, y finalmente otro carácter no espacio.
const texto = 'Por favor envíame un correo a example@example.com';
const emails = texto.match(/[\S]+@[\S]+\.\S+/g);
console.log(emails); // Output: ['example@example.com']
2. Validar contraseñas seguras
Para validar contraseñas seguras, se puede utilizar la expresión regular /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$^+=!*()@%&amp;amp;amp;quot;:;<<])\S{8,}$/. Esta expresión regular requiere que la contraseña contenga al menos una minúscula, una mayúscula, un número, un carácter especial y tenga al menos 8 caracteres de longitud.
const password = 'Abc123$';
const isValidPassword = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$^+=!*()@%":;<])\S{8,}$/.test(password);
console.log(isValidPassword); // Output: true
3. Extraer números de una cadena de texto
Para extraer números de una cadena de texto, se puede utilizar la expresión regular /\d+/g. Esta expresión regular busca cadenas de texto que contengan uno o más dígitos (\d).
const texto = 'Hay 10 gatos y 5 perros en la casa';
const numeros = texto.match(/\d+/g);
console.log(numeros); // Output: ['10', '5']
4. Validar números de teléfono
Para validar números de teléfono, se puede utilizar la expresión regular /^\d{2}-\d{4}-\d{4}$/. Esta expresión regular requiere que el número de teléfono tenga 10 dígitos y estén separados por dos guiones.
const telefono = '98-7654-3210';
const isValidTelefono = /^\d{2}-\d{4}-\d{4}$/.test(telefono);
console.log(isValidTelefono); // Output: true
5. Validar URLs
Para validar URLs, se puede utilizar la expresión regular /https?:\/\/(www\.)?[-a-zA-Z0-9@:%&\+\.~#?]+(/[a-zA-Z0-9&pt;<=.\-_~:/?]+)?/g. Esta expresión regular busca cadenas de texto que comiencen con «http://» o «https://», opcionalmente seguidos de «www.», y contienen una combinación de caracteres alfanuméricos y algunos caracteres especiales.
const url = 'https://www.example.com/page';
const isValidUrl = /https?:\/\/(www\.)?[-a-zA-Z0-9@:%&\+\.~#?]+(/[a-zA-Z0-9&pt;<=.\-_~:/?]+)?/g.test(url);
console.log(isValidUrl); // Output: true
6. Validar fechas en formato DD/MM/AAAA
Para validar fechas en formato DD/MM/AAAA, se puede utilizar la expresión regular /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/. Esta expresión regular requiere que la fecha tenga un día entre 1 y 31, un mes entre 1 y 12 y un año de cuatro dígitos.
const fecha = '25/12/2020';
const isValidFecha = /^(0?[1-9]|[12][0-9]|3[01])[\/\-](0?[1-9]|1[012])[\/\-]\d{4}$/.test(fecha);
console.log(isValidFecha); // Output: true
Conclusión
Utilizar RegExp en tus proyectos puede mejorar la calidad y eficiencia de tu código. Aprende a trabajar con patrones regulares para resolver problemas comunes en la programación, como validar datos de entrada, buscar y reemplazar subcadenas, extraer información específica de un conjunto de datos y mucho más. Con el tiempo, aprenderás a crear patrones personalizados para adaptarte a las necesidades específicas de tus proyectos.

