Существуют ли какие-либо известные регулярные выражения для проверки данных 1 и 2 дорожки кредитных карт?
EDIT:
От Wikipedia:
Информация на треке 1 по финансовым картам содержится в нескольких форматах: A, который зарезервирован для частного использования эмитентом карты, B, который описан ниже, CM, который зарезервирован для использования подкомитетом ANSI X3B10 и NZ, которые доступны для использования отдельными эмитентами карт:
Трек 1, Формат B:
- Начать дозор - один символ (обычно "%" )
- Формат кода = "B" - один символ (только альфа)
- Основной номер учетной записи (PAN) - до 19 символов. Обычно, но не всегда, соответствует номер кредитной карты, напечатанный на лицевой стороне карты.
- Полевой разделитель - один символ (обычно '^')
- Имя - от двух до 26 символов
- Полевой разделитель - один символ (обычно '^')
- Дата истечения срока действия - четыре символа в форме YYMM.
- Сервисный код - три символа
- Дискреционные данные - могут включать индикатор ключа проверки PIN-кода (PVKI, 1 символ), значение подтверждения PIN-кода (PVV, 4 символа), значение подтверждения карты или код подтверждения карты (CVV или CVK, 3 символа).
- Конечный дозор - один символ (обычно '?')
- Проверка продольной избыточности (LRC) - это один символ и символ достоверности, рассчитанный по другим данным на дорожке. Следует отметить, что большинство считывающих устройств не возвращают это значение, когда карта переводится на уровень представления и использует его только для проверки ввода внутри устройства.
Трек 2. Этот формат был разработан банковской отраслью (ABA). Этот трек записывается с 5-битной схемой (4 бита данных + 1 четность), что позволяет использовать шестнадцать возможных символов, которые являются номерами 0-9, плюс шесть символов:; <= > ?, Выбор шести символов пунктуации может показаться странным, но на самом деле шестнадцать кодов просто сопоставляются с диапазоном ASCII от 0x30 до 0x3f, который определяет десятизначные символы плюс эти шесть символов. Формат данных выглядит следующим образом:
- Начать дозор - один символ (обычно ';')
- Основной номер учетной записи (PAN) - до 19 символов. Обычно, но не всегда, соответствует номер кредитной карты, напечатанный на лицевой стороне карты.
- Сепаратор - один char (обычно '=')
- Дата истечения срока действия - четыре символа в форме YYMM.
- Сервисный код - три символа
- Дискреционные данные - как в первой дорожке
- Конечный дозор - один символ (обычно '?')
- Проверка продольной избыточности (LRC) - это один символ и символ достоверности, рассчитанный по другим данным на дорожке. Следует отметить, что большинство считывающих устройств не возвращают это значение, когда карта переводится на уровень представления и использует его только для проверки ввода внутри устройства.