混淆字符串中除了最后4个字符之外的所有字符

时间:2018-06-08 04:13:58

标签: javascript regex

我使用这个正则表达式替换了一串数字中除了最后4个字符之外的所有字符: '1234567890'.replace(/\d(?=\d{4})/g, 'X'); // "XXXXXX7890"

但是,它仅适用于数字。我希望它匹配包括空格在内的任何字母数字字符。我尝试将/d元字符替换为/w(在这两个地方),但它不起作用。

你能帮忙吗?

2 个答案:

答案 0 :(得分:1)

您想同时选择/ w和文字空间(\w| )|就像OR,您可以在其中告诉正则表达式选择单词字符或空格

使用你的正则表达式:'1234567890'.replace(/(\w| )(?=(\w| ){4})/g, 'X')

答案 1 :(得分:1)

您必须使用\w

'123HGHJK90'.replace(/[\w ](?=[\w ]{4})/g, 'X');