NodeJs实现客户端登陆

nodejs的api中有一个process进程对象,process 对象是一个 global (全局变量),提供有关信息,控制当前 Node.js 进程。作为一个对象,它对于 Node.js 应用程序始终是可用的,故无需使用 require()

process进程中提供了stdin和stdout用于接受键盘的输入输出流,下面我实现了一个控制台登陆的简单的例子,接收控制台输入的用户名和密码来判断是否登陆成功。

代码如下:

var q = "请输入用户名:";
var users = {
    'admin': '1234',
    'user1': '1234',
    'user2': '1234'
}
var isInputUserName = true;
var username = "";

process.stdout.write(q + "\n");
//接收用户输入 监听用户的输入
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(q + "\n");
            username = "";
        } else {
            process.stdout.write('请输入密码:\n');
            username = input;
        }
    } else {
        if (input == users[username]) {
            console.log('登陆成功');
            username = "";
        } else {
            process.stdout.write('密码有误,请重新输入密码:\n');
        }
    }
});

  在终端中node环境下执行该js代码:

 

posted @ 2017-07-04 23:44  My Way!  阅读(1504)  评论(0编辑  收藏  举报