使用RegExp屏蔽字符串的一部分

Jos*_*ano 6 javascript regex credit-card mask

我正在尝试使用JavaScript屏蔽字符串的一部分。

例如使用正则表达式掩盖信用卡号码的第二和第三部分:

  • 4567 6365 7987 37834567 **** **** 3783
  • 3457 732837 823723457 ****** 82372

我只想保留前4个数字和后5个字符。

这是我的第一次尝试: /(?!^.*)[^a-zA-Z\s](?=.{5})/g

https://regex101.com/r/ZBi54c/2

Ton*_*ony 8

你可以试试这个:

var cardnumber = '4567 6365 7987 3783';
var first4 = cardnumber.substring(0, 4);
var last5 = cardnumber.substring(cardnumber.length - 5);

mask = cardnumber.substring(4, cardnumber.length - 5).replace(/\d/g,"*");
console.log(first4 + mask + last5);
Run Code Online (Sandbox Code Playgroud)