diff --git a/alumnos/nah/ejercicio1.js b/alumnos/nah/Clase2/ejercicio1.js similarity index 100% rename from alumnos/nah/ejercicio1.js rename to alumnos/nah/Clase2/ejercicio1.js diff --git a/alumnos/nah/ejercicio2.js b/alumnos/nah/Clase2/ejercicio2.js similarity index 100% rename from alumnos/nah/ejercicio2.js rename to alumnos/nah/Clase2/ejercicio2.js diff --git a/alumnos/nah/ejercicio3.js b/alumnos/nah/Clase2/ejercicio3.js similarity index 100% rename from alumnos/nah/ejercicio3.js rename to alumnos/nah/Clase2/ejercicio3.js diff --git a/alumnos/nah/ejercicio4.js b/alumnos/nah/Clase2/ejercicio4.js similarity index 100% rename from alumnos/nah/ejercicio4.js rename to alumnos/nah/Clase2/ejercicio4.js diff --git a/alumnos/nah/ejercicio5.js b/alumnos/nah/Clase2/ejercicio5.js similarity index 100% rename from alumnos/nah/ejercicio5.js rename to alumnos/nah/Clase2/ejercicio5.js diff --git a/alumnos/nah/ejercicio6.js b/alumnos/nah/Clase2/ejercicio6.js similarity index 100% rename from alumnos/nah/ejercicio6.js rename to alumnos/nah/Clase2/ejercicio6.js diff --git a/alumnos/nah/Clase7/ejercicio10.js b/alumnos/nah/Clase7/ejercicio10.js new file mode 100644 index 0000000..85ee95d --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio10.js @@ -0,0 +1,20 @@ +/* + *Crear una función que valide que el formato de una contraseña es válido. Un contraseña debe contener: + + Entre 8 y 16 caracteres + Al menos una letra minúscula + Al menos una letra mayúscula + Al menos un número + Puede contener símbolos no alfanuméricos. +*/ + + +const regexp = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*\W?)(?=.{8,16}$).*$/g + +console.assert( regexp.test('gR7<`(hj'), true ); + +console.assert( regexp.test('e2Ej7sGw_UTx;'), true ); + +console.assert( regexp.test('ywr,:3V>)^,Cz23?4o'), false ); //mas larga de 16 + +console.assert( regexp.test('https:es.stackoverflow.com/'), false ) \ No newline at end of file diff --git a/alumnos/nah/Clase7/ejercicio12.js b/alumnos/nah/Clase7/ejercicio12.js new file mode 100644 index 0000000..5629695 --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio12.js @@ -0,0 +1,25 @@ +/** + * [HARDCORE Level] Obtener a partir del html de la página web de Fictizia los nombres y fotos + * de los profesores. Usar la función proporcionada para getProfesores para obtener el HTML de + * la web. El resultado debe ser un array de objetos. Cada objeto contendrá las propiedades nombre + * e imagen. + */ + +const regexName = /

([A-Z][a-z]+ [A-Z][a-z]+)<\/h3>/g +const regexURL= /(https:\/\/www.fictizia.com\/app\/images\/[a-z]+[-][a-z]+.jpeg)/g +let profesoresObject= []; + +async function getProfesores() { + const response = await fetch('https://www.fictizia.com/profesorado'); + return response.text(); +} +const profesores = await getProfesores(); + +let resultURL = regexURL.exec(profesores); +let resultName = regexName.exec(profesores); +while (resultName !== null && resultURL !== null) { + profesoresObject.push({'name': resultName[1], 'imagen': resultURL[1]}); + resultURL = regexURL.exec(profesores); + resultName = regexName.exec(profesores); +} +console.log(profesoresObject) \ No newline at end of file diff --git a/alumnos/nah/Clase7/ejercicio6.js b/alumnos/nah/Clase7/ejercicio6.js new file mode 100644 index 0000000..be3a763 --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio6.js @@ -0,0 +1,6 @@ +/* +6 Crear una función que utilice una expresión regular para identificar si el parámetro str que recibe es la letra de la intro de la serie Batman de los 60. Dicha letra, de dificultad manificestat, dice lo siguiente: Na na na na na na na na na na na na na na na na... ¡BATMAN!. Debe ser case insensitive +*/ + +const regext = /^(na ){15}na... ¡BATMAN!$/gi +console.assert(regext.test ('Na na na na na na na na na na na na na na na na... ¡BATMAN!'), true); diff --git a/alumnos/nah/Clase7/ejercicio7.js b/alumnos/nah/Clase7/ejercicio7.js new file mode 100644 index 0000000..6f75c5a --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio7.js @@ -0,0 +1,14 @@ +/* +//7. Crear una función que utilice una expresión regular para identificar si el parametro str que recibe es una dirección MAC o no. Una dirección MAC se compone de 6 pares de caracteres hexadecimales separados por :. +*/ + +const regexp = /^[\da-f][\da-f]:[\da-f][\da-f]:[\da-f][\da-f]:[\da-f][\da-f]:[\da-f][\da-f]:[\da-f][\da-f]$/gi + + +console.assert( regexp.test('01:32:54:67:89:AB'), true ); + +console.assert( regexp.test('0132546789AB') , false); // sin separadores + +console.assert( regexp.test('01:32:54:67:89'), false ); // 5 números, deben ser 6 + +console.assert( regexp.test('01:32:54:67:89:ZZ'), false ) // Las ZZ finales no son hexadecimales diff --git a/alumnos/nah/Clase7/ejercicio8.js b/alumnos/nah/Clase7/ejercicio8.js new file mode 100644 index 0000000..c7a27f2 --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio8.js @@ -0,0 +1,16 @@ +/* +* Ejercicio: 8. Crear una expresión regular que valide que un DNI/NIE tiene formato válido. Un DNI se compone de 8 números seguidos de una letra mayúscula. Un NIE se compone de un primer caracter que puede ser X,Y o Z seguido de 7 números y acaba en una letra mayúscula. Puede llevar o no un guión antes de la última letra. +*/ + +const regexp = /^([xyz](\d){7}|\d{8})-?[a-z]$/gi + + +console.assert( regexp.test('F2345678-Y'), false ); //no es una X Y o Z + +console.assert( regexp.test('X2345678-Y'), true ); + +console.assert( regexp.test('05123456-Y'), true); + +console.assert( regexp.test('051F3456-Y'), false ); // no hay letras entremedias + +console.assert( regexp.test('X0513456'), false ) // falta la letra del final diff --git a/alumnos/nah/Clase7/ejercicio9.js b/alumnos/nah/Clase7/ejercicio9.js new file mode 100644 index 0000000..1b42864 --- /dev/null +++ b/alumnos/nah/Clase7/ejercicio9.js @@ -0,0 +1,17 @@ +/* + *9. Crear una función que valide que una URL es correcta. Vamos a asumir que las urls pueden contener caracteres alfanuméricos, guiones y puntos. + + */ + + const regexp = /^https?:\/\/(\w)+[.-]*?(\w)*?.(com|es)/gi + + +console.assert( regexp.test('https://es.stackoverflow.com'), true ); + +console.assert( regexp.test('http://es.stackoverflow.com'), true ); + +console.assert( regexp.test('es.stackoverflow.com'), false); + +console.assert( regexp.test('https://es.stackoverflow'), false ); + +console.assert( regexp.test('https:es.stackoverflow.com/'), false ) \ No newline at end of file