如何显示密码中的前四个字符并在其旁边显示星号?



我正在尝试显示前四个字符并使用密码输入字段中的命名空间显示星号:

users.page.passChar = userInput => {
let emptyStr = "";
if (userInput) {
emptyStr = userInput.substring(3);
emptyStr.replace();
}
return emptyStr;
}

如果我正确理解您的问题,您想替换字符串末尾的星号并仅显示前四个字符?

这应该是一个好的开始:

function passDisplay(userInput) {
let emptyStr = "";
if (userInput) {
emptyStr = userInput.substring(0, 4);
if (userInput.length > 3) {
emptyStr += Array(userInput.length - 4).fill('*').join('');
}
}
return emptyStr;
}
console.log(passDisplay("hunter2"));

一个使用reduce的选项:

const passChar = userInput => (
[...userInput].reduce((input, char, i) => `${input}${(i > 3) ? '*' : char }`, '')
);
console.log(passChar('password'));

因此,我假设您正在寻找"abc123"以显示"abc1**",具体取决于您描述的功能。

鉴于此,您将希望函数如下所示:

function passDisplay(userInput) {
let result = '';
if(userInput) {
result = userInput.substring(0,4);
if(userInput.length > 3) {
result += Array(userInput.length - 4).fill('*').join('');
}
}
return result;
}

最新更新