I'm trying to create a pin validation in javascript. I want to ask the user for a pin and they input 1234. If they enter the wrong pin 3 times I want it to say the message "incorrect pin. contact bank". Thanks for any help
function pinCode() {
const Pin = "1234"; {}
const name = prompt("Please enter your full name");
const user_Attempt = prompt("Please enter your PIN number to access your bank account");
if (user_Attempt = Pin) {
alert("Welcome" name);
} else {
alert("Incorrect pin. Please contact your bank");
return;
}
}
CodePudding user response:
const pin = "1234";
let attemptsLeft = 3
const name = prompt("Please enter your full name");
for (attemptsLeft; attemptsLeft >= 0; attemptsLeft--) {
if (attemptsLeft === 0) {
alert("Incorrect pin. Please contact your bank");
break;
}
const userAttempt = prompt(`Please enter your PIN number to access your bank account. You have ${attemptsLeft} left.`);
if (userAttempt === pin) {
alert("Welcome " name);
break;
}
}
CodePudding user response:
Use a while
loop to keep looping until either the attempts
run out or pinCorrect
is true
.
const correctPin = '1234';
const maxAttempts = 3;
let attempts = 0;
let pinCorrect = false;
while (attempts < maxAttempts && !pinCorrect) {
const pinInput = prompt(`Please enter your PIN number to access your bank account. ${maxAttempts - attempts} attempts left.`);
pinCorrect = pinInput === correctPin;
attempts ;
}
if (!pinCorrect) {
alert('Incorrect pin. Please contact your bank');
} else {
alert('Pin accepted');
}
CodePudding user response:
Perhaps use recursion for this
var incorrectCount = 0;
function pinCode() {
if (incorrectCount != 3) {
// prompts here
if (user_Attempt === Pin) {
// do stuff
} else {
incorrectCount = 1;
pinCode();
}
} else {
// code for too many incorrect tries
}
}