繁体   English   中英

我可以获得正则表达式信用卡号的最后 4 位数字吗?

[英]Can I get the last 4 digits of a regex credit card number?

我有这种用于 AMEX 信用卡格式的正则表达式模式 - (?<?\d)3[47][0-9]{13}(.?\d)。 有没有办法获取最后 4 个字符或数字?

我正在尝试屏蔽信用卡,以防在表单中插入信用卡格式。 因此,不会插入信用卡,而是会询问诸如 **** **** **** 1234 之类的问题

它可以是 16 位或更多的信用卡,因此您可以使用此正则表达式匹配它,或者您可以转到此链接并生成您自己的正则表达式

Regex  (?i)^((\d+\s+?\d+\s+?\d+\s+?)(\d{4}))

在这里访问 Group2

                var Creditcardno= // Here put your credit card no
                string reg = @"(?i)^((\d+\s+\d+\s+\d+\s+)(\d{4})))";
                Regex r = new Regex(reg, RegexOptions.IgnoreCase);
                Match m = r.Match(Creditcardno);
                int number = m.Groups[2];

您可以通过对正则表达式进行分组来获得最后四个 no 或任何内容。

如果你只需要最后四位数而已

      (.+)([0-9]{4}$) 

使用它,从第1组中你可以得到最后四个没有。

这是一个匹配美国运通卡号最后四位数字的模式。

图案

3[47]\d{2}\s?\d{6}\s?\d(\d{4})

此处查看演示。

编辑:根据我们在聊天中讨论的请求,这是基于您提供的大多数主要卡网络模式的综合模式(我自己没有对规范进行任何研究):统一模式

来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM