正则表达式掩盖 IBAN
regex to mask IBAN
我想屏蔽 IBAN。我只需要显示前 7 个字符和后 4 个字符。
示例:
输入:
PL61109010140000071219812874
输出:
PL61109***********2874
我写了下面的正则表达式:
(?<=.{7})(.*)(?=.{4})
但是js不支持lookbehind
(?<=.{7}
是后视断言,不幸的是 Javascript 正则表达式不支持后视。
您可以使用 substr
并在 Javascript 中对此进行展望:
var s = 'PL61109010140000071219812874';
var r = s.substr(0,7) + s.substr(7).replace(/.(?=.{4,}$)/g, '*');
console.log(r);
s.substr(0,7)
- 获取从开始到第 7 个位置的字符
s.substr(7)
- 从第 7 个位置开始获取字符
.replace(/.(?=.{4,}$)/g, '*')
- 使用前瞻,将除最后 4 个字符外的所有字符替换为 *
您可以使用 Regex 中的组来代替 LookBehind
var myString = "PL61109010140000071219812874";
var myRegexp = /\w{7}(.*)\w{4}/g;
var match = myRegexp.exec(myString);
myString = myString.replace(match[1], '*********');
console.log(myString)
我想屏蔽 IBAN。我只需要显示前 7 个字符和后 4 个字符。
示例:
输入:
PL61109010140000071219812874
输出:
PL61109***********2874
我写了下面的正则表达式:
(?<=.{7})(.*)(?=.{4})
但是js不支持lookbehind
(?<=.{7}
是后视断言,不幸的是 Javascript 正则表达式不支持后视。
您可以使用 substr
并在 Javascript 中对此进行展望:
var s = 'PL61109010140000071219812874';
var r = s.substr(0,7) + s.substr(7).replace(/.(?=.{4,}$)/g, '*');
console.log(r);
s.substr(0,7)
- 获取从开始到第 7 个位置的字符s.substr(7)
- 从第 7 个位置开始获取字符.replace(/.(?=.{4,}$)/g, '*')
- 使用前瞻,将除最后 4 个字符外的所有字符替换为*
您可以使用 Regex 中的组来代替 LookBehind
var myString = "PL61109010140000071219812874";
var myRegexp = /\w{7}(.*)\w{4}/g;
var match = myRegexp.exec(myString);
myString = myString.replace(match[1], '*********');
console.log(myString)