forked from knowbee/py-rwavalidator
-
Notifications
You must be signed in to change notification settings - Fork 0
/
rwavalidator.py
39 lines (36 loc) · 967 Bytes
/
rwavalidator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env python
import re
import datetime
now = datetime.datetime.now()
def isNationalId(id):
ID_LENGTH=16
minAge = 16
pattern = r'^[1-3](19|20)\d{2}[7-8]\d{7}[0-9]\d{2}$'
regex = re.compile(pattern)
try:
if (len(id) < ID_LENGTH):
return False
if (len(id) > ID_LENGTH):
return False
if(now.year - int(id[1:5]) < minAge):
return False
match = regex.search(id)
if not match:
return False
return True
except TypeError:
return "Input should be string"
def isPhoneNumber(number):
pattern = r'^(\+?25)?(079|078|075|073|072)\d{7}$'
regex = re.compile(pattern)
match = regex.search(number)
if not match:
return False;
return True
def isTinNumber(number):
pattern = r'^(1|0)\d{8}$'
regex = re.compile(pattern)
match = regex.search(number)
if not match:
return False;
return True