|
| 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