Skip to content

Commit 9ee3d4f

Browse files
committed
#16 - Bash
1 parent 7432296 commit 9ee3d4f

File tree

1 file changed

+58
-0
lines changed

1 file changed

+58
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
#!/bin/bash
2+
3+
# Script de validación utilizando expresiones regulares
4+
5+
string="Pepe tiene el número 1234 y 5678"
6+
regex="[0-9]+"
7+
numbers=$(grep -oE "$regex" <<< "$string")
8+
echo -e "[+] Los números encontrados en la cadena de texto son: $numbers"
9+
10+
echo -e "\n\n================================ DIFICULTAD EXTRA ================================\n"
11+
12+
# Función para solicitar la entrada de usuario
13+
solicitar_entrada() {
14+
local mensaje="$1"
15+
local variable="$2"
16+
read -p "$mensaje" "$variable"
17+
}
18+
19+
# Función para validar un correo electrónico
20+
validar_email() {
21+
solicitar_entrada "[+] Introduce un email: " email
22+
regex_email="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
23+
24+
if [[ $email =~ $regex_email ]]; then
25+
echo -e "[+] El email introducido es válido.\n"
26+
else
27+
echo -e "[!] El email introducido no es válido.\n"
28+
fi
29+
}
30+
31+
# Función para validar un número de teléfono
32+
validar_telefono() {
33+
solicitar_entrada "[+] Introduce un número de teléfono: " telefono
34+
regex_telefono="^\+?[0-9]{1,3}?[-. ]?\(?[0-9]{1,4}?\)?[-. ]?[0-9]{1,4}[-. ]?[0-9]{1,9}$"
35+
36+
if [[ $telefono =~ $regex_telefono ]]; then
37+
echo -e "[+] El número de teléfono introducido es válido.\n"
38+
else
39+
echo -e "[!] El número de teléfono introducido no es válido.\n"
40+
fi
41+
}
42+
43+
# Función para validar una URL
44+
validar_url() {
45+
solicitar_entrada "[+] Introduce una dirección URL: " url
46+
regex_url="^(https?://)?(www\.)?[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}(/.*)?$"
47+
48+
if [[ $url =~ $regex_url ]]; then
49+
echo -e "[+] La dirección URL introducida es válida.\n"
50+
else
51+
echo -e "[!] La dirección URL introducida no es válida.\n"
52+
fi
53+
}
54+
55+
# Ejecución de las validaciones
56+
validar_email
57+
validar_telefono
58+
validar_url

0 commit comments

Comments
 (0)