我有一个数据库连接字符串,可以选择包含密码,该密码位于符号:
和@
之间。
如何使用正则表达式将每个密码符号替换为#
?
P.S。我不想更改字符串的长度,只是为了替换密码符号。
答案 0 :(得分:1)
您可以使用 replace()
var pas = 'ddd:hsjhjshdjhd@dddd:djhfjdfj@';
var res = pas.replace(/:(.+?)@/g, function(_, m) {
var r = ':';
for (i = 0; i < m.length; i++)
r += '#';
return r + '@';
});
document.write(res);
&#13;
来避免for循环
var str = 'ddd:hsjhjshdjhd@ddddSomethingElse';
// Add global flag `g` for more than one password
var res = str.replace(/:([^@]+)/, function(a, m) {
return ':' + new Array(m.length + 1).join('#');
});
document.write(res);
&#13;