【问题标题】:Credit Card validation: can Card Name contain non-ASCII characters?信用卡验证:卡名可以包含非 ASCII 字符吗?
【发布时间】:2011-01-01 13:12:01
【问题描述】:

卡名(即持卡人姓名,而不是卡类型)可以包含非 ASCII 字符吗? 示例:“何塞·冈萨雷斯”。

【问题讨论】:

    标签: validation internationalization ascii credit-card


    【解决方案1】:

    芯片卡(又名智能卡、EMV 卡)包含并可以返回大量不同的值,包括“持卡人姓名”(标签 5F20)和“扩展持卡人姓名”(标签 9F0B)。 EMV Co. 表示这两个标签都应遵循 ISO 7813,但我已经看到一张卡片(来自大韩航空的“NH 卡”),其中标签 5F20 包含小写字符。潘多拉的盒子被打开了!

    【讨论】:

      【解决方案2】:

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

      • 英文大写字母的范围
      • 撇号 (') 表示“Gareth O'Hare”等名称
      • 减号 (-) 表示“Alexandru-Cristian”等双重名称
      • 点 (.) 表示尊敬的前缀,例如“MR.”、“MRS.”、“MISS.”、“MS.”、“DR.”、“THE.”
      • 点 (.) 表示“Jimmy L. Morgan”、“J.P. Teron”等首字母

      【讨论】:

        【解决方案3】:

        使用的字符集不允许允许使用变音符号。简而言之,它只允许大写 ASCII 字符。

        限制最终来自银行卡将数据编码到磁条上的历史方式(as defined in ISO 7811)。数据以每个字符 7 位的格式编码,称为 ITU-T.50

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

        【讨论】:

        • 根据该链接,它不是 ASCII,而是“ANSI/ISO ALPHA”,它看起来像是从 0x20 到 0x5F 映射到 0x00...0x3F 的 ASCII 子集,并添加了一个奇校验位结束。这些数字看起来像从 0x30 到 0x3F 的 ASCII 映射到 0x0...0xF,并在末尾添加了一个奇校验位。所以甚至没有小写字母,更不用说高位 ASCII 或任何潜在的 UTF-8 支持了。
        • 是的,看起来并没有太严格(我的应用程序目前只允许可打印的 ASCII 字符),实际上我太宽容了!但是,如果我开始拒绝小写字母,我敢肯定用户会很生气,所以我可能会保留它。我主要担心的是我拒绝了合法卡,所以我松了一口气,事实并非如此。
        • 我想你不明白。没有办法用信用卡磁条上的编码来表示小写字母。他们甚至不在字符集中。
        • 我明白。我的意思是从可用性的角度来看,如果卡名被拒绝,用户会感到沮丧,因为他们输入的是小写字母。因此,我将所有小写字母转换为大写。
        • 公平地说,卡名几乎对所有付款都无用,唯一的例外是在用卡支付机票或汽车租赁时(为此会捕获数据以供以后进行犯罪调查) .几乎每次我被问到卡片上印有我的名字时,我都会输入类似“Mr Silly McDuff”之类的内容。
        【解决方案4】:

        确实,只允许使用 ASCII 字符。但允许其他操作。可以在第一行或第二行打印名称。可以选择带点或不带点等。

        因此,您不能让客户对变音符号感到满意(想想挪威和德国的名字)。但是您可以让客户在只有一个字符的完整名字之间进行选择(例如 JOSE GONZALES 或 J. GONZALES)。它有助于让客户满意。

        【讨论】:

          【解决方案5】:

          我过去使用的信用卡处理器只允许在持卡人姓名中使用 ASCII,但您应该咨询您的信用卡处理器以了解他们的要求/限制。

          【讨论】:

          • FWIW,在 Google 图片搜索中查找“jcb 卡”(日本信用卡)会显示带有 ASCII 持卡人姓名的卡。如果即使日本信用卡也只使用 ASCII,那么这种限制似乎是普遍存在的。
          猜你喜欢
          • 2011-11-02
          • 2014-08-14
          • 2012-08-22
          • 2019-01-12
          • 2021-09-24
          • 2020-09-15
          • 2011-01-24
          • 2012-08-14
          • 2017-04-02
          相关资源
          最近更新 更多