node小案例之命令行登录验证

实现效果:在命令行环境中,执行js文件后,输入用户名,并验证用户名是否存在,存在则继续验证密码,不存在则重新输入用户名;验证密码正确输出登录成功,错误则重新输入。

js文件代码:

// 用户数据
var user = {
  'admin': '111',
  'user1': '222',
  'user3': '333'
};

// 输出第一个问题
process.stdout.write("请输入用户名:");
var username = ''; //用来保存用户名,默认为空
//接收用户输入,input参数为用户输入
process.stdin.on('data', (input) => {
  //process.stdout.write(typeof input);//输入的数据是一个对象
  // process.stdout.write(`**${input}*`); //输入的数据最后一定有一个回车符
  input = input.toString().trim(); //把input转换为字符串并清除首尾空白符
  //获取一个键值对(对象)中所有的键
  if (!username) { //用户名不为空,检测用户名
    if (Object.keys(user).indexOf(input) === -1) {
      //用户名不存在
      process.stdout.write("用户名不存在" + "\n");
      process.stdout.write("请重新输入用户名:");
      username = ''; //不存在,重新赋值为空
    } else {
      //用户名存在,进行第二次输入
      process.stdout.write("请输入密码:");
      username = input; //保存用户名
    }
  } else { //检测密码
    if (input === user[username]) {
      process.stdout.write("登录成功" + "\n");
    } else {
      process.stdout.write("密码错误" + "\n");
      process.stdout.write("请重新输入密码:");
    }
  }
});
发布了95 篇原创文章 · 获赞 43 · 访问量 7万+

猜你喜欢

转载自blog.csdn.net/lyxuefeng/article/details/86707282
今日推荐