DNI
D
10
letters = {
0: "T",
1: "R",
2: "W",
3: "A",
4: "G",
5: "M",
6: "Y",
7: "F",
8: "P",
9: "D",
10: "X",
11: "B",
12: "N",
13: "J",
14: "Z",
15: "S",
16: "Q",
17: "V",
18: "H",
19: "L",
20: "C",
21: "K",
22: "E",
}
dni_number = id_number.name[0:8]
dni_letter = id_number.name[
len(id_number.name) - 1 : len(id_number.name)
]
if dni_number.isdigit() and not dni_letter.isdigit():
if letters.get(int(dni_number) % 23) != dni_letter.upper():
failed = True
else:
failed = True
Spanish Residence permit
N
30
permit_first_letter=id_number.name[0:1]
permit_last_letter = id_number.name[
len(id_number.name) - 1 : len(id_number.name)
]
if (permit_first_letter.upper() in ['X','Y']) and id_number.name[1:8].isdigit() and not permit_last_letter.isdigit():
failed = False
else:
failed = True
02
05
05
03
06
06
10