在我的应用程序中,我有一个字母数字字符串被传递到我的函数中。该字符串通常为 17 个字符,但并非总是如此。我正在尝试编写一个正则表达式来匹配字符串中除最后 4 个字符之外的所有字符,并将它们替换为 X (以屏蔽它)。
例如
Input: HGHG8686HGHG8686H
Output: XXXXXXXXXXXXX686H
Run Code Online (Sandbox Code Playgroud)
我编写的用于对字符串执行替换的正则表达式如下
[a-zA-Z0-9].{12}
Run Code Online (Sandbox Code Playgroud)
代码:
const maskedString = string.replace(/[a-zA-Z0-9].{12}/g, 'X');
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是,它将字符串中除最后 4 个字符之外的所有字符替换为单个 X。它不知道对每个匹配的字符都执行此操作。有任何想法吗?