const prompt = require("prompt-sync")({ sigint: true });
function User(login, email, pass) {
this.login = userLogin;
this.email = Email;
this.pass = pass;
}
let userLogin = prompt("Введите логин для регистации: ");
let Email = prompt("Введите почту для регистрации: ");
while (!Email.endsWith("@gmail.com")) {
Email = prompt("Почта должна заканчиваться на @gmail.com: ");
}
let pass = prompt("Введите пароль: ");
let passRepeat = prompt("Введите пароль повторно: ");
while (passRepeat !== pass) {
passRepeat = prompt("Пароль должен совпадать с предыдущем: ");
}
console.log(
`Регистрация завершена, пользователь ${userLogin} создан. Можно выполнить следующее действие: \n 1) Отобразить информацию о пользователе командой userinfo:\n`,
);
let command = prompt();
let user = new User(userLogin, Email, pass);
if (command === "userInfo".toLowerCase()) {
console.log(
`Имя пользователя: ${user.login}\n Почта пользователя: ${user.email} \n Пароль пользователя: \n ${user.pass}`,
);
} else {
console.log("Команда не найдена.");
return;
}
Андрей РазуваевУченик (107)
7 месяцев назад
if (Email.endsWith("@
gmail.com ") == true)
Можно сократить до if (Email.endsWith("@
gmail.com "))
let command = prompt(`Регистрация ...
Переменная command объявлена в блоке if() {..., а читается вне этого блока
if (command = 'userInfo'.toLowerCase()) { Тут опечатка, ты хотел написать === вместо =
if (passRepeat == pass) {
if (passRepeat == pass
Эти проверки лишние, ты уже проверил пароли в цикле while сверху
+ Хороший совет - всегда, когда хочешь что-то сравнить, то используй ===. Два равно == только когда знаешь, что делаешь
А так всё хорошо в целом, циклы интересно использованы