diff --git a/src/validators/i18n/fr.py b/src/validators/i18n/fr.py index cba93bc1..10a5a2b1 100644 --- a/src/validators/i18n/fr.py +++ b/src/validators/i18n/fr.py @@ -13,10 +13,10 @@ def _ssn_pattern(): """SSN Pattern.""" return re.compile( - r"^([1,2])" # gender (1=M, 2=F) + r"^([12])" # gender (1=M, 2=F) r"\s(\d{2})" # year of birth r"\s(0[1-9]|1[0-2])" # month of birth - r"\s(\d{2,3}|2[A,B])" # department of birth + r"\s(\d{2,3}|2[AB])" # department of birth r"\s(\d{2,3})" # town of birth r"\s(\d{3})" # registration number r"(?:\s(\d{2}))?$", # control key (may or may not be provided) diff --git a/tests/i18n/test_fr.py b/tests/i18n/test_fr.py index 1e648222..30c1588a 100644 --- a/tests/i18n/test_fr.py +++ b/tests/i18n/test_fr.py @@ -34,6 +34,7 @@ def test_returns_true_on_valid_ssn(value: str): (None,), ("",), ("3 84 12 76 451 089 46",), # wrong gender number + (", 84 12 76 451 089",), # comma is not a valid gender (regex char-class bug) ("1 84 12 76 451 089 47",), # wrong control key ("1 84 00 76 451 089",), # invalid month ("1 84 13 76 451 089",), # invalid month