From 402b3517eb09be188df13e5c57ea4d1400b7cc20 Mon Sep 17 00:00:00 2001 From: iCasture Date: Fri, 18 Jul 2025 22:55:38 +0800 Subject: [PATCH] fix: reject MAC addresses with mixed separators Add validation to prevent MAC addresses that use both ':' and '-' separators simultaneously, ensuring consistent separator usage as per MAC address format standards. --- src/validators/mac_address.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/validators/mac_address.py b/src/validators/mac_address.py index fd681b7..5954260 100644 --- a/src/validators/mac_address.py +++ b/src/validators/mac_address.py @@ -29,4 +29,8 @@ def mac_address(value: str, /): (Literal[True]): If `value` is a valid MAC address. (ValidationError): If `value` is an invalid MAC address. """ + # Check for mixed separators: MAC addresses cannot use both ':' and '-' simultaneously + if ":" in value and "-" in value: + return False + return re.match(r"^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$", value) if value else False