32 lines
903 B
Python
32 lines
903 B
Python
import re
|
|
|
|
|
|
|
|
#/**
|
|
# ogCheckIpAddress
|
|
#@brief Función para determinar si una cadena es una dirección ipv4 válida
|
|
#@param 1 string de la ip a comprobar
|
|
#@return 0 si es una dirección válida
|
|
#@return 1 si NO es una dirección válida
|
|
#@exception OG_ERR_FORMAT formato incorrecto.
|
|
#@note
|
|
#@todo
|
|
#*/ ##
|
|
def ogCheckIpAddress(ip):
|
|
"""
|
|
Función para determinar si una cadena es una dirección ipv4 válida.
|
|
|
|
:param ip: string de la ip a comprobar
|
|
:return: True si es una dirección válida, False si NO es una dirección válida
|
|
"""
|
|
if not isinstance(ip, str):
|
|
raise ValueError("Formato incorrecto, el parámetro debe ser una cadena.")
|
|
|
|
regex = r"^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$"
|
|
if re.match(regex, ip):
|
|
parts = ip.split('.')
|
|
if all(0 <= int(part) <= 255 for part in parts):
|
|
return True
|
|
return False
|
|
|