信用卡验证:卡名称是否包含非ASCII字符?

Mr *_*rub 23 validation ascii credit-card internationalization

卡名称(即持卡人姓名,而不是卡类型)是否包含非ASCII字符?示例:"JOSÉGONZÁLEZ".

Pau*_*ulG 26

所使用是否字符集容许变音符号.简而言之,它只允许使用大写的ASCII字符.

限制最终来自银行卡将数据编码到磁条上的历史方式(如ISO 7811中所定义).数据以每字符7比特的格式编码,称为ITU-T.50

持卡人姓名最多包含26个字符,每个字符的范围为十六进制20-5F.您可以在此处查看此表:http://www.zytrax.com/tech/ia5.html

  • 公平地说,卡的名称对于几乎所有的付款都是无用的,唯一的例外是像支付机票或汽车租赁卡(为了以后的犯罪风格调查而获取数据).几乎每当我被要求在卡片上印上我的名字时,我都会输入"Mr Silly McDuff"之类的东西. (7认同)
  • 根据该链接,它不是 ASCII,而是“ANSI/ISO ALPHA”,它看起来像是从 0x20 到 0x5F 映射到 0x00...0x3F 的 ASCII 子集,并在末尾添加了一个奇校验位。这些数字看起来像是从 0x30 到 0x3F 的 ASCII 映射到 0x0...0xF,并在末尾添加了一个奇校验位。所以甚至没有小写字母,更不用说高 ASCII 或任何潜在的 UTF-8 支持。 (2认同)

sto*_*ito 9

磁条可以存储甚至标点符号!"*#%&()^:; <> =?[/] _
但实际上持卡人名称仅用于:

  • 英文大写字母范围
  • Apostrophe(')代表像"Gareth O'Hare"这样的名字
  • 减去( - )像"Alexandru-Cristian"这样的双重名字
  • 点(.)表示尊敬的前缀,如"MR.","MRS.","MISS.","MS.","DR.","THE".
  • 点(.)为首字母,如"Jimmy L. Morgan","JP Teron"