function maskify(cc) {
var dd = cc.toString();
var hash = dd.replace((/./g), '#');
for (var i = (hash.length - 4); i < hash.length; i++) {
hash[i] = dd[i];
}
return hash;
}
我试图用#
替换所有字符,除了最后四个。为什么它不起作用?function maskify(cc) {
var dd = cc.toString();
var hash = dd.replace((/./g), '#');
for (var i = (hash.length - 4); i < hash.length; i++) {
hash[i] = dd[i];
}
return hash;
}
我试图用#
替换所有字符,除了最后四个。为什么它不起作用?dd.replace(/.(?=.{4,}$)/g, '#');
var dd = 'Hello dude';
var replaced = dd.replace(/.(?=.{4,}$)/g, '#');
document.write(replaced);
如果您找到解决方案,请尝试此技巧。
function maskify(cc) {
return cc.slice(0, -4).replace(/./g, '#') + cc.slice(-4);
}
function maskify(cc) {
let arr = cc.split('');
for (let i = 0; i < arr.length - 4; i++){
arr[i] = '#';
}
return arr.join('');
}
hash[i] = dd[i]
是无效的。在Javascript中,字符串是不可变的。请参考如何在JavaScript中替换特定索引处的字符?以获取一些建议。