10 usos de expresiones regulares útiles en JavaScript
Medio
-
2 min. lectura
Las expresiones regulares son patrones que se utilizan para buscar y manipular cadenas de texto en JavaScript. Aprender a usar expresiones regulares puede hacer que tu código sea más eficiente y te ahorre tiempo.
Conozcamos algunas:
Validación de correos electrónicos
const emailRegex = /^\w+([.-]?\w+)*@\w+([.-]?\w+)*(\.\w{2,3})+$/;
const isValidEmail = emailRegex.test('example@email.com');
console.log(isValidEmail); // true
Eliminación de caracteres especiales
const specialCharsRegex = /[^a-zA-Z0-9]/g;
const stringWithoutSpecialChars = 'Hola! ¿Cómo estás?'.replace(specialCharsRegex, '');
console.log(stringWithoutSpecialChars); // HolaCmoests
Búsqueda de patrones de palabras
const wordRegex = /\bperro\b/g; const text = 'Mi perro se llama Fido. ¿Cómo está tu perro?';
const match = text.match(wordRegex);
console.log(match); // ['perro', 'perro']
Validación de contraseñas seguras
const passwordRegex = /^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[a-zA-Z]).{8,}$/;
const isValidPassword = passwordRegex.test('Contraseña1');
console.log(isValidPassword); // true
Búsqueda de números de teléfono
const phoneRegex = /(\+\d{1,2}\s*)?[6789]\d{2,3}\s*\d{2,3}\s*\d{2,3}(\s*\d{2})?/g;
const text = 'Mi número de teléfono es 678 12 34 56';
const match = text.match(phoneRegex);
console.log(match); // ['678 12 34 56']
Reemplazo de patrones de texto
const text = 'Hola, mi nombre es Juan';
const replaceRegex = /Juan/g;
const newText = text.replace(replaceRegex, 'Pedro');
console.log(newText); // Hola, mi nombre es Pedro
Búsqueda de URLs:
const urlRegex = /https?:\/\/[\w\-]+(\.[\w\-]+)+[/#?]?.*/gi; const text = 'Mi sitio web es https://www.misitio.com';
const match = text.match(urlRegex);
console.log(match); // ['https://www.misitio.com']
Validación de fechas
const dateRegex = /^(0?[1-9]|[12][0-9]|3[01])\/(0?[1-9]|1[0-2])\/(19|20)\d{2}$/;
const isValidDate = dateRegex.test('02/02/2022');
console.log(isValidDate); // true
Validar una dirección IP
const ipRegex = /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/;
const ipAddress = '192.168.1.1';
console.log(ipRegex.test(ipAddress)); // true
Búsqueda de patrones de tarjetas de crédito
const creditCardRegex = /(?:\d[ -]*?){13,16}/g; const text = 'Mi número de tarjeta de crédito es 1234-5678-9101-1121';
const match = text.match(creditCardRegex);
console.log(match); // ['1234-5678-9101-1121']
Ten en cuenta que las expresiones regulares pueden ser muy poderosas y útiles pero también pueden ser difíciles de entender y depurar, por lo que es importante tener precaución al utilizarlas y siempre verificar su currecto funcionamiento.