Проверка кредитной карты: может ли Имя карты содержать символы не ASCII? - PullRequest
22 голосов
/ 05 января 2010

Может ли имя карты (т. Е. Имя владельца карты, а не тип карты) содержать символы не ASCII? Пример: "Хосе Гонсалес".

Ответы [ 5 ]

26 голосов
/ 05 января 2010

Используемый набор символов не допускает диакритические знаки. Вкратце, он допускает только символы ASCII в верхнем регистре.

Ограничение в конечном счете исходит из исторического способа, которым банковские карты кодируют данные на магнитную полосу (, как определено в ISO 7811 ). Данные кодируются в формате 7 бит на символ, известный как ITU-T.50

Имя владельца карты закодировано до 26 символов, каждый в диапазоне от шестнадцатеричного 20-5F. Вы можете увидеть таблицу для этого здесь: http://www.zytrax.com/tech/ia5.html

7 голосов
/ 02 сентября 2015

Магнитная полоса может хранить даже такие знаки препинания, как! "* #% & () ^:; <> =? [/] _
Но на практике имена владельцев карт используют только:

  • Диапазон английских заглавных букв
  • Апостроф (') для таких имен, как "Гарет О'Хара"
  • Минус (-) для двойных имен типа "Александру-Кристиан"
  • Точка (.) Для таких префиксов, как «MR.», «MRS.», «MISS.», «MS.», «DR.», «THE.»
  • Точка (.) Для инициалов типа "Джимми Л. Морган", "Дж. П. Терон"
1 голос
/ 25 октября 2018

Чип-карты (также известные как смарт-карты, карты EMV) содержат и могут возвращать множество различных значений, включая «Имя держателя карты» (тег 5F20) и «Расширенное имя владельца карты» (тег 9F0B). EMV Co. говорит, что оба эти тега должны соответствовать ISO 7813, но я уже видел одну карту («NH Card» от Korea Air), в которой тег 5F20 содержал строчные буквы. Ящик Пандоры открыт!

1 голос
/ 06 января 2010

Действительно, разрешены только символы ASCII. Но другие манипуляции разрешены. Можно напечатать имя в первой или второй строке. Можно выбрать с или без точек и т. Д.

Таким образом, вы не можете порадовать клиента диакритическими знаками (вспомним норвежские и немецкие имена). Но вы можете позволить клиенту выбирать между полным именем только одного персонажа (например, ХОЗЕ ГОНЗАЛЕС или Дж. ГОНЗАЛЕС). Это помогает сделать клиента счастливым.

0 голосов
/ 05 января 2010

Обработчики кредитных карт, которые я использовал в прошлом, допускали только ASCII в имени держателя карты, но вы должны проверить с обработчиком вашей кредитной карты, чтобы узнать, каковы их требования / ограничения.

...