Czy są jakieś znane wyrażenia regularne służące do sprawdzania ścieżki 1 karty kredytowej i śledzenia 2 danych?Wyrażenie regularne dla danych z kart kredytowych
EDIT:
Od Wikipedia:
Informacje na ścieżce 1 na kartach finansowych zawarte są w kilku formatach: A, która jest zarezerwowana dla własnego użytku emitenta karty, B, który jest opisany poniżej CM, które są zastrzeżone do użytku przez ANSI Podkomisja X3B10 i NZ, które są dostępne do wykorzystania przez poszczególnych emitentów kart:
Track 1, Format B:
- start sentinel - jeden znak (zazwyczaj '%')
- Kod format = "B" - jedna postać (alfa tylko) numer konta
- Primary (PAN) - maksymalnie 19 znaków. Zazwyczaj, ale nie zawsze, odpowiada numerowi karty kredytowej wydrukowanemu na przedniej stronie karty.
- Pole Separator - jeden znak (zazwyczaj '^')
- Nazwa - od dwóch do 26 znaków
- Pole separatora - jedna postać (ogólnie '^')
- data ważności - cztery znaki w YYMM formularza.
- Kod usługi - trzy znaki
- Dyskretyzacja - może zawierać kluczowy wskaźnik weryfikacji PIN (PVKI, 1 znak), wartość weryfikacji PIN (PVV, 4 znaki), wartość weryfikacji karty lub kod weryfikacji karty (CVV lub CVK, 3 znaków) End sentinel - jeden znak (ogólnie "?")
- Wzdłużna kontrola redundancji (LRC) - jest to jeden znak i znak ważności obliczony na podstawie innych danych na ścieżce. Należy zauważyć, że większość urządzeń czytnika nie zwraca tej wartości, gdy karta jest przeciągnięta do warstwy prezentacji, i używa jej tylko do weryfikacji wejścia wewnętrznie do czytnika.
Utwór 2: Ten format został opracowany przez przemysł bankowy (ABA). Ścieżka jest zapisana za pomocą 5-bitowego schematu (4 bity danych + 1 parzystość), co pozwala na szesnaście możliwych znaków, które są cyframi 0-9 plus sześć znaków:; < =>? . Wybór sześciu znaków interpunkcyjnych może wydawać się dziwny, ale w rzeczywistości szesnaście kodów po prostu odwzorowuje zakres ASCII od 0x30 do 0x3f, który definiuje dziesięciocyfrowe znaki plus te sześć symboli. Format danych jest następujący:
- start sentinel - jeden znak (zazwyczaj ';') numer konta
- Primary (PAN) - maksymalnie 19 znaków. Zazwyczaj, ale nie zawsze, odpowiada numerowi karty kredytowej wydrukowanemu na przedniej stronie karty.
- Separator - jeden znak (zazwyczaj "=")
- Data wygaśnięcia - cztery znaki w formularzu RRMM. Kod
- Service - trzy znaki
- luksusowe danych - podobnie jak w torze jeden
- Koniec Sentinel - jedna postać (ogólnie „?')
- Wzdłużna kontrola nadmiarowa (LRC) - jest to jeden znak i znak ważności obliczony na podstawie innych danych na ścieżce. Należy zauważyć, że większość urządzeń czytnika nie zwraca tej wartości, gdy karta jest przeciągnięta do warstwy prezentacji, i używa jej tylko do weryfikacji wejścia wewnętrznie do czytnika.
Czy możesz podać przykłady takich danych? –
Jestem w biznesie cc od dłuższego czasu i trudno mi sobie wyobrazić, dlaczego tego potrzebujesz. Zasadniczo, ponieważ utwór 1,2,3 znajduje się w domenie wydawcy, często trudno jest znaleźć dane inne niż PAN, data wygaśnięcia i kod usługi na ścieżce, a dane o nazwach również mogą być śmieciami, ja nawet przyjechałem przez PAN, które nie przechodzą kontroli Luhna.Dlatego wydaje mi się, że będziesz miał sporo specjalnych przypadków w produkcji, aby precyzyjnie dostroić wyrażenie regularne tak, aby nie odrzucać wykonalnych danych produkcyjnych, które kolidują ze specyfikacją iso. – bbozo