【问题标题】:add mask to string in crystal report在水晶报表中为字符串添加掩码
【发布时间】:2013-03-13 00:17:21
【问题描述】:

我的项目中有一个水晶报告,它将显示信用卡号等机密信息。目前信用卡号没有屏蔽。我想屏蔽信用卡号,例如“XXXX XXXX 1234 5678”。如何在水晶报表中做到这一点?

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    如果已知您的所有信用卡号都是 16 位数字(大多数,但不是所有卡都是 16 位数字)并且是数字,您可以这样做

    local numbervar cardno := totext({table.cardno},0,''); //cardno to string
    "XXXX XXXX " + cardno[9 to 12] + " " + cardno[13 to 16]
    

    如果卡号已经是字符串,则省略第一行。您可能还想屏蔽除最后 4 位以外的所有数字,因为第 8 到第 15 位代表整个帐号(请参阅:What your credit card numbers mean

    【讨论】:

    • AmEx 是 4,6,5 分组的 15 位数字。除非您对这些数据进行加密,否则我敢猜测您违反了 PCI 标准。
    • 如果 cardno 我是一个字符串,它应该被声明为local stringvar cardno 否则你会得到一个错误
    猜你喜欢
    • 2021-11-17
    • 1970-01-01
    • 2021-06-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多