-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nah clase7 #64
base: feat/n-a-h
Are you sure you want to change the base?
Nah clase7 #64
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 ) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 = /<h3>([A-Z][a-z]+ [A-Z][a-z]+)<\/h3>/g | ||
const regexURL= /(https:\/\/www.fictizia.com\/app\/images\/[a-z]+[-][a-z]+.jpeg)/g | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Aquí hay una cosa muy triste, estarías marginando a todas las personas cuyo nombre tenga tildes 😢 |
||
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) |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Vamoh ya! |
||
console.assert(regext.test ('Na na na na na na na na na na na na na na na na... ¡BATMAN!'), true); |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Cuidado aquí con el |, ahora mismo soportas una x seguida de 8 números 😅 |
||
|
||
|
||
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 |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. genial! sólo un detalle, más que especificar sufijos de dominios completos, lo suyo es que indiques simplemente que van de 2 a 4 caracteres |
||
|
||
|
||
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 ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Stack overflow! 😬