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();
