如何屏蔽信用卡号的前两个字母和后四个字母[关闭]
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 位之外的所有数字(长度不同)