Javascript 未定义的JS密码生成器
我正在制作一个简单的密码生成器,提示用户输入密码的条件,如大小写、符号和数字,然后单击生成密码 我已经设置了处理这些问题的函数,但是,无法获得实际生成的密码 我遇到一个错误,生成的密码未定义Javascript 未定义的JS密码生成器,javascript,Javascript,我正在制作一个简单的密码生成器,提示用户输入密码的条件,如大小写、符号和数字,然后单击生成密码 我已经设置了处理这些问题的函数,但是,无法获得实际生成的密码 我遇到一个错误,生成的密码未定义 //密码选项输入 const resultEl=document.getElementById(“结果”); var characters=prompt(“密码应该包含多少个字符(8-128)”; var upperCase=prompt(“密码应该包含大写字母吗?”); var lowerCase=pr
//密码选项输入
const resultEl=document.getElementById(“结果”);
var characters=prompt(“密码应该包含多少个字符(8-128)”;
var upperCase=prompt(“密码应该包含大写字母吗?”);
var lowerCase=prompt(“密码是否应包含小写字母”);
var numbers=prompt(“密码应该包含数字吗?”);
var symbols=prompt(“密码应该包含符号吗?”);
var generateEl=document.getElementById(“生成”);
函数randomFunc(输入){
如果(输入==“hasUpper”){
控制台日志(“上”);
返回getRandomUpper();
}
如果(输入==“hasLower”){
getRandomLower();
控制台日志(“较低”)
}
如果(输入==“hasNumber”){
getRandomNumber();
控制台日志(“数字”)
}
如果(输入==“hasSymbols”){
getRandomSymbol();
控制台日志(“符号”)
}
}
如果(字符数>7&&字符数<129){
var length=parseInt(字符,10);
控制台日志(“长度:”+长度);
}否则{
变量长度=假;
警报(“无效密码长度”);
}
//如果输入为“是”,则返回true
if(大写.toLowerCase()==“是”){
var=true;
控制台日志(“上限:+hassupper”);
}
if(小写.toLowerCase()=='yes'){
var hasLower=真;
console.log(“lower:+hasLower”);
}
if(numbers.toLowerCase()==“是”){
var hasNumbers=true;
控制台日志(“编号:+HASSumbers”);
}
if(symbols.toLowerCase()==“是”){
var hasSymbols=真;
控制台日志(“符号:+hasSymbols”);
}
generateEl.addEventListener('click',function(){
resultEl.innerText=生成密码(hasUpper、hasLower、hasNumbers、hasymbols、length);
console.log(“generatebut”);
});
//生成密码功能
函数生成器密码(hasUpper、hasLower、HasNumber、hasSymbols、length){
//1.初始化密码变量
让generatedPassword='';
const typescont=hasUpper+hasLower+hasNumbers+hasymbols;
//console.log('typescont',typescont);
常数类型R=[{
哈索普
}, {
哈斯洛
}, {
有数字
}, {
哈斯符号
}]
//3.每种类型的循环超长调用生成器功能
for(设i=0;i
密码生成器
生成密码
您的安全密码
生成
函数生成密码(hasUpper、hasLower、hasNumbers、hasymbols、length){
让generatedPassword='';
const typescont=hasUpper+hasLower+hasNumbers+hasymbols;
const typesArr=[{hassupper},{hasslower},{hassnumbers},{hasSymbols}]
for(设i=0;i
您的randomFunc
在第一种情况下只有返回,其他所有情况下都没有返回。也许这就是问题所在?
function randomFunc(input) {
let randomChar;
if (input === "hasUpper") {
randomChar = getRandomUpper();
}
if (input === "hasLower") {
randomChar = getRandomLower();
}
if (input === "hasNumbers") {
randomChar = getRandomNumber();
}
if (input === "hasSymbols") {
randomChar = getRandomSymbol();
}
return randomChar;
}
function generatePassword(hasUpper, hasLower, hasNumbers, hasSymbols, length) {
let generatedPassword = '';
const typesCount = hasUpper + hasLower + hasNumbers + hasSymbols;
const typesArr = [{ hasUpper }, { hasLower }, { hasNumbers }, { hasSymbols }]
for (let i = 0; i < length; i += typesCount) {
typesArr.forEach(function(type) {
const funcName = Object.keys(type)[0];
generatedPassword = generatedPassword + randomFunc(funcName);
});
}
return generatedPassword;
}