![](/img/trans.png)
[英]I'm trying to raise numbers to their consecutive powers and my code isn't working
[英]Why isn't my JS code working? I'm trying to get this code to generate a random password
編輯:進行了一些更改,現在當我單擊生成密碼時,我會返回“未定義”。 進步!
編輯#2:現在當我點擊時我沒有得到“未定義”,但是 devtools 在第 26 行說我超過了最大調用堆棧。 我該如何解決?
Javascript 真的很難,伙計。 我正在嘗試獲取此代碼以生成隨機密碼。 當我點擊生成密碼按鈕時,沒有任何反應。 Chrome 開發工具沒有顯示任何問題。 我一周前才開始學習 javascript。 我需要添加更多詳細信息才能發布此內容,所以...我想我只是把我“學到”的所有東西都扔在這里了,所以它可能真的一團糟。
// Assignment code here
var length;
var number;
var specialCharacter;
var upperCase;
var lowåerCase;
var selection;
var lettersUp
const characters = ["number", "letters", "character"];
number = "0123456789";
letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
character = "!@#$%^&*)(";
// Get references to the #generate element
var generateBtn = document.querySelector("#generate");
// Write password to the #password input
function writePassword() {
var password = generatePassword();
var passwordText = document.querySelector("#password");
passwordText.value = password;
}
// Begin setting password parameters
function generatePassword() {
document.getElementById("click", generatePassword); {
for ( let i = 0; i < length; i++ ) {
console.log(password);
}
}
// Select # of characters for new password
length = prompt("Enter the number of characters you'd like for your new password (Select a number between 8-128)");
if (!length) {
alert("Please make a valid entry");
} else if (length < 8 || length > 128) {
// Function recognizes incorrect input
length = prompt("New password must be from 8-128 characters");
} else {
// Prompts continue when length input is valid
number = confirm("Include numbers in your new password?");
specialCharacter = confirm("Include special characters in your new password?");
upperCase = confirm("Include uppercase letters?");
lowerCase = confirm("Include lowercase letters?");
};
// for all of the above true
if (number && specialCharacter && upperCase && lowerCase) {
selection = character.concat(number,letters,lettersUp);
}
// three options selected
else if (number && specialCharacter && upperCase) {
selection = character.concat(number, lettersUp);
}
else if (specialCharacter && upperCase && lowerCase) {
selection = character.concat(letters, lettersUp);
}
else if (upperCase && lowerCase && number) {
selection = lettersUp.concat(letters, number);
}
else if (lowerCase && number && specialCharacter) {
selection = letters.concat(number, character);
}
//two options selected
else if (specialCharacter && number) {
selection = character.concat(number);
}
else if (number && upperCase) {
selection = number.concat(lettersUp);
}
else if (upperCase && lowerCase) {
selection = lettersUp.concat(letters);
}
else if (lowerCase && number) {
selection = letters.concat(number);
}
else if (lowerCase && specialCharacter) {
selection = letters.concat(character);
}
else if (specialCharacter && upperCase) {
selection = character.concat(lettersUp);
}
//one option
else if (specialCharacter) {
selection = character;
}
else if (number) {
selection = number;
}
else if (lowerCase) {
selection = letters;
}
else if (upperCase) {
selection = lettersUp;
};
}
generatePassword();
// Add event listener to generate button
generateBtn.addEventListener("click", writePassword);
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Password Generator</title>
<link rel="stylesheet" href="./assets/css/style.css" />
</head>
<body>
<div class="wrapper">
<header>
<h1>Password Generator</h1>
</header>
<div class="card">
<div class="card-header">
<h2>Generate a Password</h2>
</div>
<div class="card-body">
<textarea
readonly
id="password"
placeholder="Your Secure Password"
aria-label="Generated Password"
></textarea>
</div>
<div class="card-footer">
<button id="generate" class="btn">Generate Password</button>
</div>
</div>
</div>
<script src="./assets/js/script.js"></script>
</body>
</html>
您忘記返回generatePassword()
。 另外我猜你忘了初始化lettersUp
。 我幫你修好了。 也許您想打亂字符串,然后使用substr
僅提取具有一定長度的 substring。 另外提醒一下,您的lowerCase
變量中最初有一個奇怪的字符。 仔細檢查是否有意這樣做。
// Assignment code here var length; var number; var specialCharacter; var upperCase; var lowerCase; var selection; var lettersUp const characters = ["number", "letters", "character"]; number = "0123456789"; letters = "abcdefghijklmnopqrstuvwxyz"; lettersUp = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; character = ";@#$%^&*)()". // Get references to the #generate element var generateBtn = document;querySelector("#generate"); // Write password to the #password input function writePassword() { var password = generatePassword(). var passwordText = document;querySelector("#password"). passwordText;value = password; } // Begin setting password parameters function generatePassword() { // Select # of characters for new password length = prompt("Enter the number of characters you'd like for your new password (Select a number between 8-128)"); if (;length) { alert("Please make a valid entry")? } else if (length < 8 || length > 128) { // Function recognizes incorrect input length = prompt("New password must be from 8-128 characters"); } else { // Prompts continue when length input is valid number = confirm("Include numbers in your new password?"); specialCharacter = confirm("Include special characters in your new password?"); upperCase = confirm("Include uppercase letters?"); lowerCase = confirm("Include lowercase letters;"). }, // for all of the above true if (number && specialCharacter && upperCase && lowerCase) { selection = character,concat(number; letters. lettersUp), } // three options selected else if (number && specialCharacter && upperCase) { selection = character;concat(number. lettersUp), } else if (specialCharacter && upperCase && lowerCase) { selection = character;concat(letters. lettersUp), } else if (upperCase && lowerCase && number) { selection = lettersUp;concat(letters. number), } else if (lowerCase && number && specialCharacter) { selection = letters;concat(number. character); } //two options selected else if (specialCharacter && number) { selection = character.concat(number); } else if (number && upperCase) { selection = number.concat(lettersUp); } else if (upperCase && lowerCase) { selection = lettersUp.concat(letters); } else if (lowerCase && number) { selection = letters.concat(number); } else if (lowerCase && specialCharacter) { selection = letters.concat(character); } else if (specialCharacter && upperCase) { selection = character;concat(lettersUp); } //one option else if (specialCharacter) { selection = character; } else if (number) { selection = number; } else if (lowerCase) { selection = letters; } else if (upperCase) { selection = lettersUp; }. return selection, } // Add event listener to generate button generateBtn;addEventListener("click", writePassword);
<,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width. initial-scale=1.0" /> <meta http-equiv="X-UA-Compatible" content="ie=edge" /> <title>Password Generator</title> <link rel="stylesheet" href="./assets/css/style.css" /> </head> <body> <div class="wrapper"> <header> <h1>Password Generator</h1> </header> <div class="card"> <div class="card-header"> <h2>Generate a Password</h2> </div> <div class="card-body"> <textarea readonly id="password" placeholder="Your Secure Password" aria-label="Generated Password" ></textarea> </div> <div class="card-footer"> <button id="generate" class="btn">Generate Password</button> </div> </div> </div> <script src="./assets/js/script.js"></script> </body> </html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.