diff --git a/Practices/day_02/index.html b/Practices/day_02/index.html
new file mode 100644
index 0000000..b070b16
--- /dev/null
+++ b/Practices/day_02/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ 30 days of JS
+
+
+ 30 Days of JavaScript
+
+
+
\ No newline at end of file
diff --git a/Practices/day_02/tasksLevel1.js b/Practices/day_02/tasksLevel1.js
new file mode 100644
index 0000000..b3365a2
--- /dev/null
+++ b/Practices/day_02/tasksLevel1.js
@@ -0,0 +1,106 @@
+// 1. Declare una variable llamada desafío y asígnele un valor inicial '30 días de JavaScript'.
+desafio = '30 Days Of JavaScript';
+
+
+//Imprima la cadena en la consola del navegador usando console.log()
+console.log('desafio ---> ', desafio);
+
+
+// Imprima la longitud de la cadena en la consola del navegador usando console.log()
+console.log('Longitud desafio --->', desafio.length);
+
+
+// Cambie todos los caracteres de cadena a letras mayúsculas usando el método toUpperCase()
+console.log('toUpperCase() --->', desafio.toUpperCase());
+
+
+// Cambie todos los caracteres de la cadena a letras minúsculas usando el método toLowerCase()
+console.log('toLowerCase() --->', desafio.toLowerCase());
+
+
+// Corta (segmenta) la primera palabra de la cadena usando el método substr() o substring()
+console.log('substr() --->', desafio.substr(0, 2));
+
+
+// Corta la frase Days Of JavaScript de 30 Days Of JavaScript.
+let phrase = 'Days Of JavaScript';
+console.log('substr() --->', desafio.substr(0, desafio.length - phrase.length ));
+
+
+// Verifique si la cadena contiene una palabra Script usando el método includes()
+console.log('includes() --->', desafio.includes('Script'));
+
+
+// Divide la cadena en un array usando el método split()
+console.log('split() --->', desafio.split());
+
+
+// Divida la cadena 30 Days Of JavaScript en el espacio usando el método split()
+console.log('split("") --->', desafio.split(" "));
+
+
+// 'Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon' divide la cadena en la coma y cámbiala a una matriz.
+let str = 'Facebook, Google, Microsoft, Apple, IBM, Oracle, Amazon';
+console.log('split(", ") --->', str.split(", "));
+
+
+// C30 Days Of JavaScript a 30 Days Of Python usando el método replace().
+console.log('replace() --->', desafio.replace('JavaScript', 'Pyton'));
+
+
+// ¿Qué es el carácter en el índice 15 en la cadena '30 Days Of JavaScript'? Utilice el método charAt().
+console.log('charAt() --->', desafio.charAt(15));
+
+
+// ¿Cuál es el código de carácter de J en la cadena '30 Days Of JavaScript' usando charCodeAt()
+console.log('charCodeAt() --->', desafio.charCodeAt(11));
+
+
+// Use indexOf para determinar la posición de la primera aparición de a en 30 Days Of JavaScript
+console.log('indexOf() --->', desafio.indexOf('a'));
+
+
+// Utilice lastIndexOf para determinar la posición de la última aparición de a en 30 Days Of JavaScript.
+console.log('lastIndexOf() --->', desafio.lastIndexOf('a'));
+
+
+// Usa indexOf para encontrar la posición de la primera aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción'
+let str2 = 'No puedes terminar una oración con porque porque porque es una conjunción'
+console.log('indexOf() --->', str2.indexOf('porque'));
+
+
+// Usa lastIndexOf para encontrar la posición de la última aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción'
+console.log('lastIndexOf() --->', str2.lastIndexOf('porque'));
+
+
+// Usa buscar para encontrar la posición de la primera aparición de la palabra porque en la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción'
+console.log('search()) --->', str2.search('porque'));
+
+
+// Use trim() para eliminar cualquier espacio en blanco final al principio y al final de una cadena. Por ejemplo, '30 Days Of JavaScript'.
+let str3 = ' No puedes terminar una oración con porque porque porque es una conjunción'
+console.log('str3 --->', str3);
+console.log('trim() --->', str3.trim());
+
+
+// Use el método startsWith() con la cadena 30 Days Of JavaScript y haga que el resultado sea verdadero
+console.log('startsWith() --->', desafio.startsWith('30 Days'));
+
+
+// Use el método endsWith() con la cadena 30 Days Of JavaScript y haga que el resultado sea verdadero
+console.log('endsWith() --->', desafio.endsWith('Script'));
+
+
+// Usa el método match() para encontrar todos los a en 30 Days Of JavaScript
+let pattern = /a/gi
+console.log('match() --->', desafio.match(pattern));
+
+
+// Use concat() y fusione '30 Days Of ' y 'JavaScript' en una sola cadena, '30 Days Of JavaScript'
+let strOne = '30 Days Of ';
+let strTwo = 'JavaScript';
+console.log('concat() --->', strOne.concat(strTwo));
+
+
+// Use el método repeat() para imprimir 30 Days Of JavaScript 2 veces
+console.log('repeat() --->', desafio.repeat(2));
diff --git a/Practices/day_02/tasksLevel2.js b/Practices/day_02/tasksLevel2.js
new file mode 100644
index 0000000..7d19b46
--- /dev/null
+++ b/Practices/day_02/tasksLevel2.js
@@ -0,0 +1,77 @@
+// 1. Usando console.log() imprima la siguiente declaración:
+// The quote 'There is no exercise better for the heart than reaching down and lifting people up.' by John Holmes teaches us to help one another.
+let str1 = "'There is no exercise better for the heart than reaching down and lifting people up.' by John Holmes teaches us to help one another";
+console.log(str1);
+
+
+// 2. Usando console.log() imprima la siguiente cita de la Madre Teresa:
+// "Love is not patronizing and charity isn't about pity, it is about love. Charity and love are the same -- with charity you give love, so don't just give money but reach out your hand instead."
+let str2 = "Love is not patronizing and charity isn't about pity, it is about love. Charity and love are the same -- with charity you give love, so don't just give money but reach out your hand instead."
+console.log(str2);
+
+
+// 3. Compruebe si typeof '10' es exactamente igual a 10. Si no, hágalo exactamente igual.
+console.log(typeof(Number('10')) === typeof(10));
+
+
+// 4. Compruebe si parseFloat('9.8') es igual a 10, si no, hágalo exactamente igual a 10.
+console.log(Math.round(parseFloat('9.8')) === 10);
+
+
+// 5. Verifique si 'on' se encuentra tanto en Python como en la jargon
+let str5 = 'jargon';
+console.log(str5.includes('on'));
+
+
+// 6. Espero que este curso no esté lleno de jargon. Compruebe si jargon está en la oración.
+let str6 = 'Espero que este curso no esté lleno de jargon';
+console.log(str6.includes(str5));
+
+
+// 7. Genere un número aleatorio entre 0 y 100 inclusive.
+console.log(Math.round(Math.random() * 101));
+
+
+// 8. Genere un número aleatorio entre 50 y 100 inclusive.
+let min8 = 50;
+let max8 = 101;
+console.log(Math.floor(Math.random() * (max8 - min8) + min8));
+
+
+// 9. Genere un número aleatorio entre 0 y 255 inclusive.
+let min9 = 0;
+let max9 = 256;
+console.log(Math.floor(Math.random() * (max9 - min9) + min9));
+
+
+// 10. Acceda a los caracteres de la cadena 'JavaScript' utilizando un número aleatorio.
+let str10 = 'JavaScript';
+let max10 = str10.length;
+let index = Math.floor(Math.random() * max10);
+console.log('index ---> ', index, str10[index])
+
+
+// 11. Use console.log() y caracteres de escape para imprimir el siguiente patrón.
+// 1 1 1 1 1
+// 2 1 2 4 8
+// 3 1 3 9 27
+// 4 1 4 16 64
+// 5 1 5 25 125
+let valueR1 = 1,
+ valueR2 = 2,
+ valueR3 = 3,
+ valueR4 = 4,
+ valueR5 = 5;
+console.log(`${valueR1} \t1 \t${Math.pow(valueR1, 1)} \t${Math.pow(valueR1, 2)} \t${Math.pow(valueR1, 3)}`);
+console.log(`${valueR2} \t1 \t${Math.pow(valueR2, 1)} \t${Math.pow(valueR2, 2)} \t${Math.pow(valueR2, 3)}`);
+console.log(`${valueR3} \t1 \t${Math.pow(valueR3, 1)} \t${Math.pow(valueR3, 2)} \t${Math.pow(valueR3, 3)}`);
+console.log(`${valueR4} \t1 \t${Math.pow(valueR4, 1)} \t${Math.pow(valueR4, 2)} \t${Math.pow(valueR4, 3)}`);
+console.log(`${valueR5} \t1 \t${Math.pow(valueR5, 1)} \t${Math.pow(valueR5, 2)} \t${Math.pow(valueR5, 3)}`);
+
+
+// Usa substr para separar la frase porque porque porque de la siguiente oración:'No puedes terminar una oración con porque porque porque es una conjunción'
+let str12 = 'No puedes terminar una oración con porque porque porque es una conjunción';
+let phrase12 = 'porque porque porque';
+let index12 = str12.indexOf(phrase12);
+console.log(index12);
+console.log(str12.substr(index12, phrase12.length));
\ No newline at end of file
diff --git a/Practices/day_02/tasksLevel3.js b/Practices/day_02/tasksLevel3.js
new file mode 100644
index 0000000..4766861
--- /dev/null
+++ b/Practices/day_02/tasksLevel3.js
@@ -0,0 +1,28 @@
+// 1. Cuente el número de palabras amor en esta oración:
+// El amor es lo mejor que hay en este mundo. Algunos encontraron su amor y algunos todavía están buscando su amor.
+let str1 = 'El amor es lo mejor que hay en este mundo. Algunos encontraron su amor y algunos todavía están buscando su amor'
+let pattern1 = /amor/gi;
+console.log(str1.match(pattern1).length);
+
+
+// 2. Usa match() para contar el número de todos los porque en la siguiente oración:
+// No puedes terminar una oración con porque porque porque es una conjunción
+let str2 = 'No puedes terminar una oración con porque porque porque es una conjunción';
+let pattern2 = /porque/gi;
+console.log(str2.match(pattern2).length);
+
+
+// 3. Limpia el siguiente texto y encuentra la palabra más frecuente (pista, usa replace y expresiones regulares).
+const sentence =
+"%I $am@% a %tea@cher%, &and& I lo%#ve %te@a@ching%;. The@re $is no@th@ing; &as& mo@re rewarding as educa@ting &and& @emp%o@weri@ng peo@ple. ;I found tea@ching m%o@re interesting tha@n any ot#her %jo@bs. %Do@es thi%s mo@tiv#ate yo@u to be a tea@cher!? %Th#is 30#Days&OfJavaScript &is al@so $the $resu@lt of &love& of tea&ching";
+let pattern3 = /([%$@])/gi;
+let newSentence = sentence.replace(pattern3, '');
+console.log(newSentence);
+
+
+// 4. Calcula el ingreso anual total de la persona extrayendo los números del siguiente texto.
+let str4 = 'Él gana 5000 euros de salario por mes, bono anual de 10000 euros, cursos en línea de 15000 euros por mes.';
+let patter4 = /\d+/g;
+let data = str4.match(patter4);
+let salAnual = (Number(data[0]) * 12) + (Number(data[1])) + (Number(data[2] * 12));
+console.log(`El salario anual es: ${salAnual.toFixed(2)} COP`);
\ No newline at end of file