0
我想掩飾IBAN。我只能顯示前7個字符和後4個字符。正則表達式掩蓋IBAN
例子:
輸入:
PL61109010140000071219812874
輸出:
PL61109***********2874
我寫了下面的正則表達式:
(?<=.{7})(.*)(?=.{4})
但JS不支持回顧後
我想掩飾IBAN。我只能顯示前7個字符和後4個字符。正則表達式掩蓋IBAN
例子:
輸入:
PL61109010140000071219812874
輸出:
PL61109***********2874
我寫了下面的正則表達式:
(?<=.{7})(.*)(?=.{4})
但JS不支持回顧後
您可以使用組在正則表達式來做到這一點,而不是回顧後
var myString = "PL61109010140000071219812874";
var myRegexp = /\w{7}(.*)\w{4}/g;
var match = myRegexp.exec(myString);
myString = myString.replace(match[1], '*********');
console.log(myString)
(?<=.{7}
是一個lookbehind斷言,不幸的是JavaScript正則表達式不支持lookbehind。
您可以使用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, '*')
- 使用前瞻,替換*
感謝,完美的作品 – Nemesis
@Nemesis所有,但最後4個字符我的榮幸 – Ibrahim