[ Input Pattern ]

Formularfelder validieren

Input Pattern Beispiele

  Hinweis

Einige Virenscanner und einige intelligente Browser warnen bei dieser Seite wegen der Häufung von Bankspezifischen Eingabefeldern vor Phishing (Abgreifen persönlicher Daten).
In die Felder dieser Seite eingegebene Daten werden nicht übertragen!
Diese Seite zeigt nur die Möglichkeiten ein Muster (pattern) für Web-Formulare zu erstellen. Viele Formulare benötigen gute Eingabehilfen, auch und gerade für die neuen Bankcodes. Deshalb gibt es diese Seite, ich hoffe sie ist für Dich nützlich.
Ich hoffe, ich finde bald eine Möglichkeit die Sicherheitsbedenken der Software zu zerstreuen.


 Bank

Hier geht es haupsächlich um Zahlen. Der type="number" existiert, und wenn man den nutzt bieten Geräte mit virtueller Tastatur eine numerische an. Leider kann dieser Typ aber kein Muster. Also nehmen wir doch unseren type="text".

IBAN

Die IBAN setzt sich aus dem Länderkürzel und einer Zahlenfolge (meist Bankleitzahl und Kontonummer) zusammen. Die IBAN kann maximal 34 Zeichen enthalten. (Über die mindestzahl habe ich nichts gefunden, Norwegen ´hat 15 Stellen) Für die Mensch-Maschine-Schnittstelle darf die IBAN in Vierergruppen notiert werden, es gibt zwar dazu keine Vorschrift aber die von mir bemusterte Schreibweise ist nun üblich.

Deutsche IBAN (20) Format: DE12345678901234567890 oder DE12 3456 7890 1234 5678 90
pattern="DE\d{2}( )?(\d{4}\1){4}\d{2}"

DE1212341234123412
DE12 1234 1234 1234 12
FR1212341234123412
DE 1212 3412 3412 3412

Malta IBAN (31) Format: MT12 1234 1234 1234 1234 1234 1234 123
pattern="MT\d{2}( )?(\d{4}\1){6}\d{3}"

MT12 1234 1234 1234 1234 1234 1234 123
MT12123412341234123412341234123
MT12 1234 1234 1234 1234 1234 1234 I23
MT 12123 41234 12341 23412 3412 34123

INT. IBAN (15-34) Format: XX3456789012345 bis XX34 5678 9012 3456 7890 1234 5678 9012 34
pattern="[A-Z]{2}\d{13,32}|(?=.{18,42}$)[A-Z]{2}\d{2}( )(\d{4}\1){2,7}\d{1,4}"


BIC und BLZ

Der Bank Identifier Code (auch SWIFT-Code) ist die neue Kennung (Bankleitzahl) für Kreditinstitute. Der BIC hat eine Länge von 11 alphanumerischen Zeichen und folgenden Aufbau: 4 Buchstaben, 2 Länderkennung, 2 Ortscode (1te nicht 0 oder 1, 2te nicht O), 3 stellige Kennung (Füllung XXX)

Deutsche BIC (8-11) Format: AAAABBCCXXX
pattern="[A-Z]{6}[A-Z2-9][A-NP-Z0-9][A-Z0-9]{3}"

BELADEBEXXX
HELADEF1RRS
BELADEBOABC
BELADE1E123

Deutsche Bankleitzahl Format: nnn nnn nn
pattern="(\d{3} ){2}\d{2}"

640 901 00 64 090 100


Kreditkarten

Jede Kreditkarten-Bank hat ihre Besonderheiten, die wir als Mustervorlage nutzen können. So gibt es abgesehen von der Gesamtlänge, unterschiedliche Zahlenblöcke und auch die ersten Ziffern können als Validierungsmerkmal herangezogen werden.

American Express Format: 34nn nnnnnn nnnnn, 37nn nnnnnn nnnnn
pattern="3[47]\d{2}( )?\d{6}\1\d{5}"

3759 896543 21001
375989654321001
4759 896543 21001
325989654321001

JCB Format: 3088 nnnn nnnn nnnn und 3096..,3112..,3158..,3337..,3528..
pattern="3(088|096|112|158|337|528)( )?(\d{4}\2){2}\d{4}"

3096 1234 1234 1234 3097 1234 1234 1234

Diner’s Club11 Format: 30nn nnnn nnnn nn oder 30nnnnnnnnnnnn, 36..,38..
pattern="3[068]\d{2}( )?(\d{4}\1){2}\d{2}"

38520000023237 35820000023237

Master Card Format: 51nn nnnn nnnn nnnn, 52..,53..,54..,55..
pattern="5[1-5]\d{2}( )?(\d{4}\1){2}\d{4}"

5512122225687422 5912 1222 2568 7422

Visa Format: 4nnn nnnn nnnn n oder 4nnn nnnn nnnn nnnn
pattern="4\d{3}( )?(\d{4}\1){2}(\d{4}|\d)"

4512122225687422 5912 1222 2568 7422

Allgemeine Kreditkartennummer Format: 2-6nnnn... 13-16 lang
pattern="[1-6]\d{12,15}"


Währungen

Bitte zahlen Sie in €, £, ¤, ¥, ƒ, ₴, ₲, ₨ Format: 0,00 X
pattern="\d*,\d{2} [₨₲₴¢€£¤¥ƒ]"

50,25 ₴
236,99 ¥
50,25 $
50,69

Warum funktioniert das nicht?

Einige Beispiele die ich im Netz gefunden habe sind entweder zu sehr vereinfacht, zu kompliziert oder schlichtweg falsch. Einige sind offenbar nie überprüft worden. Die fehlerhaften Beispiele eignen sich gut um das System richtig zu verstehen.

Amex Credit Card
pattern="[0-9]{4} *[0-9]{6} *[0-9]{5}"
Ein oder beliebig viele Leerzeichen * zwischen den Blöcken? z.B. "1234    12345612345". Sehr ungewöhnliche Schreibweise. Außer den Zahlenblöcken ist leider nichts Amex-typisches an diesem Muster zu erkennen.

Diners Club Card
pattern="^([30|36|38]{2})([0-9]{12})$"
Die Begrenzer vorn und hinten ^ .. $ gibt es bei Input-Feldern nicht. Die eckige Klammern steht für ein (!) Zeichen aus der enthaltenen Auswahlliste [30|36|38] also stehen 0, 3, 6 , 8 oder das Pipezeichen zur Auswahl. Wenn das ganze in runden Klammern stehen würde, dann wäre es ok, wenn noch der Quantifier {2} fallengelasser werden würde. Die gesetzten runden Klammern kann man sich sparen.