欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-05-30 15:05:33
...

实现效果:在命令行环境中,执行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("请重新输入密码:");
    }
  }
});