Skip to content

Commit c02af37

Browse files
committed
#16 - javascript
1 parent 738b662 commit c02af37

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
// Ejercicio de Expresiones Regulares en JavaScript
2+
3+
// Texto de ejemplo para probar todas las expresiones regulares
4+
const textoEjemplo = `Hola, tengo 25 años y mi número de teléfono es 123-456-789.
5+
También puedes contactarme al +34 611 222 333 o por email a [email protected].
6+
Visita mi página web en https://www.ejemplo.com para más información.
7+
Hay 42 razones para usar expresiones regulares y 100 formas de aplicarlas.`;
8+
9+
/**
10+
* 1. Función para encontrar y extraer todos los números de un texto
11+
* Utiliza la expresión regular \b\d+\b que significa:
12+
* \b - límite de palabra
13+
* \d+ - uno o más dígitos
14+
* \b - otro límite de palabra
15+
*/
16+
function extraerNumeros(texto) {
17+
const patron = /\b\d+\b/g;
18+
const numerosEncontrados = texto.match(patron);
19+
20+
console.log('1. Números encontrados:');
21+
numerosEncontrados.forEach(numero => console.log(numero));
22+
}
23+
24+
/**
25+
* 2. Función para validar un email
26+
* Utiliza una expresión regular que verifica:
27+
* ^ - inicio de la cadena
28+
* [\w.-]+ - uno o más caracteres de palabra, puntos o guiones
29+
* @ - símbolo @
30+
* [\w-]+ - uno o más caracteres de palabra o guiones
31+
* \. - un punto literal
32+
* [\w-]+ - dominio de nivel superior
33+
* (\.[a-zA-Z]{2,})?$ - opcional: punto seguido de 2 o más letras, fin de cadena
34+
*/
35+
function validarEmail(email) {
36+
const patronEmail = /^[\w.-]+@[\w-]+\.[\w-]+(\.[a-zA-Z]{2,})?$/;
37+
return patronEmail.test(email);
38+
}
39+
40+
/**
41+
* 3. Función para validar un número de teléfono
42+
* Acepta formatos:
43+
* - 123-456-789
44+
* - +34 611 222 333
45+
*/
46+
function validarTelefono(telefono) {
47+
const patronTelefono = /^(\+\d{1,3}\s?)?(\d{3}[-\s]?){2}\d{3}$/;
48+
return patronTelefono.test(telefono);
49+
}
50+
51+
/**
52+
* 4. Función para validar una URL
53+
* Acepta URLs que:
54+
* - Comienzan con http:// o https://
55+
* - Pueden tener www. (opcional)
56+
* - Tienen un dominio y una extensión válida
57+
*/
58+
function validarURL(url) {
59+
const patronURL = /^(https?:\/\/)(www\.)?[\w-]+(\.[a-zA-Z]{2,})+$/;
60+
return patronURL.test(url);
61+
}
62+
63+
// Pruebas
64+
console.log('\n=== PRUEBAS DE EXPRESIONES REGULARES ===');
65+
66+
// 1. Extraer números
67+
extraerNumeros(textoEjemplo);
68+
69+
// 2. Validar emails
70+
console.log('\n2. Validación de emails:');
71+
const emails = ['[email protected]', 'email_invalido.com', '[email protected]'];
72+
emails.forEach(email => {
73+
console.log(`${email} es válido:`, validarEmail(email));
74+
});
75+
76+
// 3. Validar números de teléfono
77+
console.log('\n3. Validación de números de teléfono:');
78+
const telefonos = ['123-456-789', '+34 611 222 333', '1234', '999-999-999'];
79+
telefonos.forEach(telefono => {
80+
console.log(`${telefono} es válido:`, validarTelefono(telefono));
81+
});
82+
83+
// 4. Validar URLs
84+
console.log('\n4. Validación de URLs:');
85+
const urls = ['https://www.ejemplo.com', 'http://ejemplo', 'https://dominio.es'];
86+
urls.forEach(url => {
87+
console.log(`${url} es válida:`, validarURL(url));
88+
});

0 commit comments

Comments
 (0)