En este capítulo haremos ejercicios relacionados con strings y expresiones regulares, y son los siguientes:
1. Número de vocales y consonantes
Vamos a programar una función que dada una cadena de texto, cuente el número de vocales y consonantes de dicha cadena.
const contarLetras = (cadena = "") => { if (!cadena) return console.log("No ingresaste una cadena de texto"); if (typeof cadena !== "string") return console.log("No enviaste un string correcto"); let vocales = 0, consonantes = 0; cadena = cadena.toLowerCase(); for (let letra of cadena) { if (/[aeiouáéíóú]/.test(letra)) vocales++; if (/[bcdfghjklmnñpqrstvwxyz]/.test(letra)) consonantes++; } return console.log({ cadena, vocales, consonantes, }); }; contarLetras(); contarLetras(5); contarLetras("Hola Mundo"); contarLetras("bbbbb");
2. Nombre válido
Crearemos una función que valide que un texto sea un nombre válido o no.
const validarNombre = (nombre = "") => { if (!nombre) return console.log("No se ha enviado nada"); if (typeof nombre !== "string") return console.log("El dato enviado no es una cadena de texto"); let expReg = /^[A-Za-zÑñÁáÉéÍíÓóÚú\s]+$/g.test(nombre); return expReg ? console.log("El nombre ingresado es válido") : console.log("El nombre ingresado NO es válido"); }; validarNombre("Francisco"); validarNombre(9);
3. Email válido
Programaremos una función que valide que igualmente un texto sea un email válido o no.
const validarEmail = (email = "") => { if (!email) return console.log("No enviaste nada"); if (typeof email !== "string") return console.log("No enviaste una cadena de texto"); let expReg = /[a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,15})/i.test( email ); return expReg ? console.log("Email correcto") : console.log("Email incorrecto"); }; validarEmail("fran@fran.es"); validarEmail();