Wer auch mal in die Verlegenheit kommt eine Umsatzsteueridentnummer prüfen zu müssen, der kann rein strukturell dies mit folgender Funktion prüfen:
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/**
* prüft die Umsatzsteueridentnummer aufgrund von Strukturmerkmalen
* der einzelnen Länder
*
* @param string $ustid
* @return bool valid or not
*/
function checkUstId($ustid)
{
$u = strtoupper(preg_replace(’~\W~’, ”, $ustid));
$country = substr($u, 0, 2);
switch ($country)
[...]
Für verschiedenste Formularfeldinhaltsprüfungen kann man kompliziert vorgehen oder aber Regular Expression verwenden. Da diese wiederum nicht ganz trivial sind, hier eine kleine Auswahl von sinnvollen Patterns für den Alltagsgebrauch eines Programmierers
Freitext – ~^(.*)$~msi
Zahl – ~^\d+$~msi
Buchstaben und Leerzeichen – ~^[a-zA-Z\ ]+$~msi
eMail – ~^[\w-]+(?:\.[\w-]+)*@(?:[\w-]+\.)+[a-zA-Z]{2,7}$~msi
Datum (D.M.JJ, DD.MM.JJJJ, …) – ~^(\d?\d\.){2}(\d{4}|\d{2})$~msi
Datum mit Prüfung auf Tagesanzahl – ~^\b(((0?[1-9]|[12][0-9])\.(0?[1-9]|1[0-2])\.)| (30\.((0?[13-9])|(1[0-2]))\.)| (31\.(0?[13578]|1[02])\.))(\d{2}|\d{4})\b$~msi
(ohne [...]
