用X'替换内部信用卡号的正则表达式;s

Regular expression to replace inner credit card numbers with X's?

本文关键字:正则表达式 信用卡 替换 内部      更新时间:2024-03-31

当卡号的长度在15-19个字符之间变化时,是否可以使用正则表达式将卡号中的所有字符替换为X,左外4位和右外4位除外?

我一直在搜索,但找不到可变卡长度的解决方案。

我正在构建一个sails.js应用程序。

(注意:对于那些担心PCI合规性的人,我不会存储信用卡号码,也不是实时应用程序)

使用此模式

(?<='d{4})'d(?='d{4})

并替换w/X
演示

(?<=            # Look-Behind
  'd            # <digit 0-9>
  {4}           # (repeated {4} times)
)               # End of Look-Behind
'd              # <digit 0-9>
(?=             # Look-Ahead
  'd            # <digit 0-9>
  {4}           # (repeated {4} times)
)               # End of Look-Ahead  

如果你的引擎不支持向后看,使用这个模式代替

^('d{4})'d(?='d{4})|'d(?='d{4})  

注意:仅适用于9位以上的数字演示