定义用户:

let users={
	"admin":"123",
	"user1":"321",
	"user2":"213"
};

 

设置用户名变量存储输入的用户名,以判断是进行用户名输入还是密码输入,初始值为空:

let username="";

 

进入逻辑判断,如果用户名为空,判断输入的用户名是否存在于用户中,如果不存在,重置用户名为空,再次输入用户名。否则,进入密码输入阶段,输入密码之前,将之前输入的用户名存在username变量中。

对输入密码进行判断,如果输入密码等于该用户对应的密码,则登陆成功,否则,再一次输入密码直到输入正确。

process.stdout.write("请输入用户名:");
process.stdin.on('data',(input)=>{
	input=input.toString().trim();
	if(!username){
		if(Object.keys(users).indexOf(input)===-1){
			process.stdout.write('用户名不存在'+'\n');
			process.stdout.write("请输入用户名:");
			username="";
		}
		else 
		{
			process.stdout.write("请输入密码:");
			username=input;
		}
	}
	//输入密码
	else{
		if(input===users[username]){
			console.log("登陆成功");
		}
		else{
			process.stdout.write("请输入密码"+"\n");
		}
		
	}
});

 

更多推荐

node之process.stdout和process.stdin实现控制台登录