ngD*_*per 0 javascript regex node.js sails.js
当卡号的长度在 15-19 个字符之间变化时,是否可以使用正则表达式将卡号中的所有字符替换为 X(左外 4 位和右外 4 位除外)?
我一直在寻找,但找不到具有可变卡长度的解决方案。
我正在构建一个sails.js 应用程序。
(注意:对于那些担心 PCI 合规性的人,我不会存储信用卡号,也不是实时应用程序)
使用这种模式
(?<=\d{4})\d(?=\d{4})
Run Code Online (Sandbox Code Playgroud)
并用演示替换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
Run Code Online (Sandbox Code Playgroud)
如果您的引擎不支持后视,请改用此模式
^(\d{4})\d(?=\d{4})|\d(?=\d{4})
Run Code Online (Sandbox Code Playgroud)
注意:仅适用于 9+ 位数字 演示