如何屏蔽信用卡号的前两个字母和后四个字母[关闭]

Posted

技术标签:

【中文标题】如何屏蔽信用卡号的前两个字母和后四个字母[关闭]【英文标题】:How to mask first two letter and last four letters of credit card number [closed] 【发布时间】:2014-07-13 01:26:54 【问题描述】:

如何屏蔽信用卡号的前两个字母和后四个字母。最后四位数字我能做到,但前两位数字我不能。

我正在使用以下代码:

string result = s.Substring(s.Length - 4).PadLeft(4, '*');

请告诉我最佳做法。

【问题讨论】:

在我在现实世界中看到的情况中,屏蔽软件通常会屏蔽除信用卡号的最后四位以外的所有数字。 您可以使用便笺。或者您是否正在尝试使用某种软件?什么样的? 你确定你能做最后 4 位数字吗?因为我不认为代码在做你想做的事。 PadLeft 中的第一个参数是总宽度,这意味着您的结果将是 4 个字符。 【参考方案1】:

您需要将字符串中的文本从前两个字符之后到最后四个字符剪切,然后在前面加上两个星号,在末尾加上四个。

Substring() 是一个很好的字符串函数,结合知道字符串的长度,Length 会给你。因此,工作代码 sn-p 将是:

var middle = s.Substring(2, s.Length - 2 - 4);
var result = string.Format("**0****", middle);

【讨论】:

这是一个低质量的答案。您应该在这里向 OP 解释您在做什么。 考虑编辑它! 我只是认为答案是自描述的。我会为你编辑它。 虽然这可能是提问者所要求的,但对于 PCI-DSS 支付标准来说,它绝对不正确。强烈建议不要使用它。

以上是关于如何屏蔽信用卡号的前两个字母和后四个字母[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

屏蔽除字符串的前 6 位和后 4 位之外的所有数字(长度不同)

Laravel 表单验证集规则,例如前两个字符是字母,后四个字符是数字,例如 AB1234

有没有更好的方法在 python 中屏蔽信用卡号?

使用 PySpark 屏蔽信用卡号

[LeetCode]Gray Code

在 SQL Server 中屏蔽信用卡号