Implementación de validación de números telefónicos usando el paquete Regexp de Go
Para validar números telefónicos, hay varios criterios que podemos considerar. Estos criterios pueden variar según el país y el formato específico de los números, pero aquí te dejo una guía general:
-
Longitud: Verificar que el número tenga una cantidad adecuada de dígitos (normalmente entre 10 y 15 dígitos).
-
Caracteres Válidos: El número debe contener solo dígitos y, opcionalmente, caracteres como paréntesis, guiones y espacios.
-
Código de País: Verificar la presencia de un código de país válido (por ejemplo, +1 para Estados Unidos, +57 para Colombia).
-
Formato: Asegurarse de que el número siga un formato esperado (por ejemplo, +57 300 123 4567 o (300) 123-4567).
Aquí tienes un pseudocódigo en Go para validar números telefónicos:
package main
import (
"fmt"
"regexp"
)
func isValidPhoneNumber(phoneNumber string) bool {
// Patrón de expresión regular para la validación del número telefónico
phonePattern := `^\+?[0-9]{1,3}?[-. \(\)]?[0-9]{1,4}?[-. \(\)]?[0-9]{1,4}?[-. \(\)]?[0-9]{1,9}$`
match, _ := regexp.MatchString(phonePattern, phoneNumber)
return match
}
func main() {
phoneNumbers := []string{
"+57 300 123 4567",
"(300) 123-4567",
"1234567890",
"987-654-3210",
"+1 800 555 1234",
"invalid phone 1234",
}
for _, number := range phoneNumbers {
fmt.Printf("Phone Number: %s is valid: %v\n", number, isValidPhoneNumber(number))
}
}
Este código en Go verifica que el número telefónico siga un formato correcto y contenga solo caracteres válidos. Si un número no cumple con estos criterios, se considera inválido.