diff --git a/src/validators/i18n/ind.py b/src/validators/i18n/ind.py index c1d49400..6ec973ea 100644 --- a/src/validators/i18n/ind.py +++ b/src/validators/i18n/ind.py @@ -44,4 +44,4 @@ def ind_pan(value: str): (Literal[True]): If `value` is a valid PAN card number. (ValidationError): If `value` is an invalid PAN card number. """ - return re.match(r"[A-Z]{5}\d{4}[A-Z]{1}", value) + return re.fullmatch(r"[A-Z]{5}\d{4}[A-Z]{1}", value) diff --git a/tests/i18n/test_ind.py b/tests/i18n/test_ind.py index 1164f131..36aae6d1 100644 --- a/tests/i18n/test_ind.py +++ b/tests/i18n/test_ind.py @@ -26,7 +26,9 @@ def test_returns_true_on_valid_ind_pan(value: str): assert ind_pan(value) -@pytest.mark.parametrize("value", ["ABC5d7896B", "417598346012", "AaaPL1234C"]) +@pytest.mark.parametrize( + "value", ["ABC5d7896B", "417598346012", "AaaPL1234C", "ABCDE9999Kextra", "ABCDE9999K "] +) def test_returns_failed_validation_on_invalid_ind_pan(value: str): """Test returns failed validation on invalid ind pan.""" assert isinstance(ind_pan(value), ValidationError)