Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/validators/i18n/ind.py: 78%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

9 statements  

1"""India.""" 

2 

3# standard 

4import re 

5 

6# local 

7from validators.utils import validator 

8 

9 

10@validator 

11def ind_aadhar(value: str): 

12 """Validate an indian aadhar card number. 

13 

14 Examples: 

15 >>> ind_aadhar('3675 9834 6015') 

16 True 

17 >>> ind_aadhar('3675 ABVC 2133') 

18 ValidationError(func=ind_aadhar, args={'value': '3675 ABVC 2133'}) 

19 

20 Args: 

21 value: Aadhar card number string to validate. 

22 

23 Returns: 

24 (Literal[True]): If `value` is a valid aadhar card number. 

25 (ValidationError): If `value` is an invalid aadhar card number. 

26 """ 

27 return re.match(r"^[2-9]{1}\d{3}\s\d{4}\s\d{4}$", value) 

28 

29 

30@validator 

31def ind_pan(value: str): 

32 """Validate a pan card number. 

33 

34 Examples: 

35 >>> ind_pan('ABCDE9999K') 

36 True 

37 >>> ind_pan('ABC5d7896B') 

38 ValidationError(func=ind_pan, args={'value': 'ABC5d7896B'}) 

39 

40 Args: 

41 value: PAN card number string to validate. 

42 

43 Returns: 

44 (Literal[True]): If `value` is a valid PAN card number. 

45 (ValidationError): If `value` is an invalid PAN card number. 

46 """ 

47 return re.match(r"[A-Z]{5}\d{4}[A-Z]{1}", value)