ISO/IEC 7813 is an international standard codified by the International Organization for Standardization and International Electrotechnical Commission that defines properties of financial transaction cards, such as ATM or credit cards.[1]
The standard defines:[citation needed]
ISO/IEC 7813 specifies the following physical characteristics of the card, mostly by reference to other standards:[citation needed]
Track 1 can store up to 79 alphanumeric characters. ISO 7813 specifies the following structure for track 1 data:[2]
%B4815881002867896^YATES/EUGENE JOHN ^37829821000123456789?
%B4815881002861896^YATES/EUGENE L ^^^356858 00998000000?
Track 2 can store up to 40 numeric or special characters; it uses a lower density magnetic encoding than Track 1 but a more compact character encoding. ISO 7813 specifies the following structure for track 2 data:[2]
Track 3 uses the same density as track 1 but has the same character encoding as track 2, allowing it to store 107 numeric characters.[2] It is virtually unused by the major worldwide networks and often isn't present on payment cards.[citation needed]
A notable exception to this is Germany, where Track 3 content was used nationally as the primary source of authorization and clearing information for debit card processing prior to the adoption of the "SECCOS" ICC standards. Track 3 is standardized nationally to contain both the cardholder's bank account number and branch sort code (BLZ).[citation needed]
Parsing Track 1 and Track 2 can be done with Regular Expressions.
^%B([0-9]{1,19})\^([^\^]{2,26})\^([0-9]{4}|\^)([0-9]{3}|\^)([^\?]*)\?$
This Regex will capture all of the important fields into the following groups:[citation needed]
^\;([0-9]{1,19})\=([0-9]{4}|\=)([0-9]{3}|\=)([^\?]*)\?$
=
=
=