Node.js实现登陆注册功能

本文实例为大家分享了Node.js实现登陆注册的具体代码,供大家参考,具体内容如下

1.服务器端

在项目里创建一个json文件用来存储数据,通过express创建服务器对象,fs模块对文件进行读写。

运用post请求

代码如下:

var express = require('express')
var fs = require("fs")
var app = express()
app.use(express.static("www"))
app.use(express.urlencoded({extended:false}))
// 先获取user.json里面的数据和req.body进行对比
fs.readFile("./user.json",function(err,data){
    if (err) {
        userArr = []
    }else{
        userArr = JSON.parse(data)
    }
})
app.post("/zhuce",function(req,res,next){
    // 输入框要验证的数据判断机制:
    // 可以把正则表达式判断放在前端:用户体验好,判断快
    // 也可以把正则表达式判断放在后端:判断相对安全,判断慢
    // console.log(req.body);
    var u = req.body.v1
    var p = req.body.v2
    var isZhuce = userArr.some(function(v,i,a){
        return v.user === u
    })
    if (isZhuce) {
        res.json({
            code:201,
            shibai:"该账号已注册"
        })
    }else{
        userArr.push({user:`${req.body.v1}`,psw:`${req.body.v2}`})
        fs.writeFile("./user.json",JSON.stringify(userArr),function(){
            res.json({
                code:200,
                chenggong:"index2.html"
            }) 
        })
    }
 
})
 
app.post("/denglu",function(req,res,next){
    var deng = userArr.findIndex(function(v,i,a){
            return v.user === req.body.v1
    })
    console.log(deng);
    if (deng != -1) {
        if (userArr[deng].psw === req.body.v2) {
            res.json({
                code:251,
                mima:"登录成功"
            })
        }else{
            res.json({
                code:252,
                mima:"密码错误"
            })
        }
    }else{
        res.json({
            code:250,
            mima:"该账号未注册"
        })
    }
})

 
app.listen(3000,function(){
    console.log("run");
})

2.注册页面

在前端发送post请求传送数据,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>注册界面</title>
</head>
<body>
    <form action="">
        <!-- pattern 正则判断         required 允许输入框提交进行正则判断-->
        用户名:<input type="text" name="user" required id="user" pattern="^1[3578]\d{9}$"><br>
        密 码:<input type="text" name="psw" required id="psw" pattern="^.{6,}$"><br>
        确认密码:<input type="text" name="cpsw" id="cpsw"><br>
        <button id="b1">提交</button>
    </form>
    <script src="./jquery.js"></script>
    <script>
        $("#b1").on("click",function(e){
            e.preventDefault()
            if (psw.value!=cpsw.value) {
                alert("两次密码不一致,傻逼")
                return
            }
            $.post({
                url:"http://127.0.0.1:3000/zhuce",
                data:{
                    v1:user.value,
                    v2:psw.value,
                },
                success:res=>{
                    if (res.shibai) {
                        alert(`${res.shibai}`)
                    }
                    if (res.chenggong) {
                        location.href = `${res.chenggong}`
                    }
                }
 
            })
 
 
        })
    </script>
 
</body>
</html>

3.登录页面

依然使用post请求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <form action="">
        <!-- pattern 正则判断         required 允许输入框提交进行正则判断-->
        用户名:<input type="text" name="user" required id="user" pattern="^1[3578]\d{9}$">

        密 码:<input type="text" name="psw" required id="psw" pattern="^.{6,}$">

        <button id="b1">提交</button>
    </form>
    <script src="./jquery.js"></script>
    <script>
        $("#b1").click(function(e){
            e.preventDefault()
            $.post({
                url:"http://127.0.0.1:3000/denglu",
                data:{
                    v1:user.value,
                    v2:psw.value,
                },
                success:function(res){
                    console.log(res);
                    alert(`${res.mima}`)
                }
            })
        })
    </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • mvc C# JavaScript LigerUI oracle实现用户的注册、登陆验证、登陆

    一.登录数据库,在数据库中创建表User00,并且插入数据. 表的字段分别为: Id(编号).Name(姓名).Grid(级别).Score(积分).Password(密码).Age(年龄).Code(邀请码).(其中编号是自动编号) 部分命令如下: select * from User00; /*查询User00*/ insert into User00 values('one','优',10000,'123',24); /*插入一行数据*/ update User00 set Grid='优

  • Java与JavaScript前后端实现手机号验证码一键注册登陆抖音流程

    目录 一.一键注册登录流程 二.前端 2.1. 验证码获取流程 2.2. 验证码获取代码 三.后端验证码 3.1. 前置处理 3.2. 拦截器添加 3.3. 获取验证码 一.一键注册登录流程 二.前端 2.1. 验证码获取流程 1.点击->获取验证码调用后端获取验证码api接口 2.验证码59秒倒计时 3.重复点击获取验证码,判断验证码倒计时是否大于0: 如果大于0,获取验证码按钮不可触摸 如果等于0,获取验证码调用后端获取验证码api接口 2.2. 验证码获取代码 var serverUrl

  • js操作数据库实现注册和登陆的简单实例

    自从node-js出现之后,不只是java,php等后端语言可以操作数据库,进行内容的增删改查,javascript简本语言同样具备了该项技能,而且在node下,js具备了很强的操作性和代码的阅读性,让晦涩难懂的代码变得更加的清晰了,下面我简单介绍javascript如何操作数据库进行登录注册功能的实现. 首先,页面部分就直接省略了,我们默认已经安装数据库了,开始从注登录说起. exports.login =function(req,res){ var username=req.body.una

  • Node.js利用Express实现用户注册登陆功能(推荐)

    要求 了解Express框架 了解node.js常用模块:express,body-parser,mysql 了解express Router 了解HTML form表单 了解MySQL Server 及安装使用 了解SQLyog使用 环境 OS: Win10 Node.js: v12.19.0 Express: v4.17.1 Yarn: v1.22.10 使用VScode IDE body-parser:1.19.0 mysql: 2.18.1 MySQL Server:5.7 SQLyog

  • js实现登陆与注册功能

    本文实例为大家分享了js实现登陆与注册功能的具体代码,供大家参考,具体内容如下 1.首先在phpstudy文件中寻找到一个文件名叫 "www" 的文件  在里面创建html,js,php文件: 2.在Navicat 软件中连接到phpstudy的MySQL: 3.在Navicat 软件中寻找一个数据库 并创建一个表格: 4.书写html代码(如下图1)编写简单的注册表单结构 并通过js 给表单验证:点击注册跳转到php文件中: 5.php代码(如下图2)  首先获取html代码中表单的

  • JSP动态实现web网页登陆和注册功能

    目录 前言  数据库 JSP网页连接数据库 配置mysql文件 创建jsp文件,连接数据库,并读取出数据显示在jsp网页中 注册和登录的JSP页面 新建login.jsp文件 新建check.jsp 创建register.jsp文件  新建Cregister.jsp文件  创建DBBean.java文件 前言  涉及到相关内容如下: 数据库安装 JSP网页连接数据库 注册和登录的JSP页面 数据库 安装教程 ​​ ​​软件安装 (可视化数据库界面软件安装)拿走不谢 链接 提取码:qwer JSP

  • Node.js实现登陆注册功能

    本文实例为大家分享了Node.js实现登陆注册的具体代码,供大家参考,具体内容如下 1.服务器端 在项目里创建一个json文件用来存储数据,通过express创建服务器对象,fs模块对文件进行读写. 运用post请求 代码如下: var express = require('express') var fs = require("fs") var app = express() app.use(express.static("www")) app.use(expre

  • Node.js实现登录注册功能

    本文实例为大家分享了Node.js实现登录注册功能的具体代码,供大家参考,具体内容如下 目录结构 注册页面: reg.html <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial

  • Node.js如何实现注册邮箱激活功能 (常见)

    一. 先注册一个支持发送验证邮件的邮箱,网易的126邮箱就可以 注册成功后进行登录,然后点击导航栏的设置,选择POP3/SMTP/IMAP,开启POP3/SMTP/IMAP服务,设置授权码就可以了. 二. 下载nodemailer插件 在命令行输入:npm install --save nodemailer 三. 编写发送邮件代码: 1 . 对发送激活邮件代码进行封装,然后导出: //email.js // 引入 nodemailer var nodemailer = require('node

  • 微信小程序登陆注册功能的实现代码

    我们在开发小程序时,难免会用到登陆注册功能.通常小程序有为我们提供用户授权登陆的功能,但是这个只能获取用户的头像和昵称,我们该怎么样来实现小程序账号密码的注册和登陆呢,今天就来手把手的带大家学习小程序登陆注册功能的开发. 老规矩,先看效果图 通过上图可以看到我们主要实现了以下功能1,账号密码登陆2,账号密码注册3,退出登陆下面我们就来看下具体实现一,原理讲解 因为我们账号密码的注册,就是把用户设置的账号密码存到数据库里,登陆也是从数据库里取账号和密码来校验.所以我们必须要有数据库.如果用传统的数

  • 利用Node.JS实现邮件发送功能

    第一步.配置篇 首先需要安装nodemailer库 npm install nodemailer//默认会安装最新的版本. 关于这个库的文档参见nodemailer 第二步.库的一些使用介绍 这个库使用方法很简单的.首先是要创建一个用于发送邮件的实例 var transporter = nodemailer.createTransport(transport[, defaults]) transport参数属性 属性太多了就只写一些关键的属性 port:连接的端口号,一般就是465 host:你

  • Node.JS更改Windows注册表Regedit的方法小结

    注册表是windows操作系统中的一个核心数据库,其中存放着各种参数,直接控制着windows的启动.硬件驱动程序的装载以及一些windows应用程序的运行,从而在整个系统中起着核心作用.这些作用包括了软.硬件的相关配置和状态信息,比如注册表中保存有应用程序和资源管理器外壳的初始条件.首选项和卸载数据等,联网计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联,硬件部件的描述.状态和属性,性能记录和其他底层的系统状态信息,以及其他数据等. 这里介绍一些通过node.js操作注册表的几种方

  • Node.js上传文件功能之服务端如何获取文件上传进度

    内容概述 multer是常用的Express文件上传中间件.服务端如何获取文件上传的进度,是使用的过程中,很常见的一个问题.在SF上也有同学问了类似问题<nodejs multer有没有查看文件上传进度的方法?>.稍微回答了下,这里顺便整理出来,有同样疑问的同学可以参考. 下文主要介绍如何利用progress-stream获取文件上传进度,以及该组件使用过程中的注意事项. 利用progress-stream获取文件上传进度 如果只是想在服务端获取上传进度,可以试下如下代码.注意,这个模块跟Ex

  • node.js +mongdb实现登录功能

    一.开发环境准备 npm init -y //初始化仓库 npm i koa koa-router -S //安装koa和路由模块 npm i nodemon -S 二.开启node服务 //index.js const koa = require("koa"); const router = require("koa-router")(); const app = new koa(); router.get("/",async ctx=>

  • node.js+express留言板功能实现示例

    目录 留言板 所需类库 开源项目 项目结构 留言板 基于nodejs+express+art-template的留言板功能.包含列表界面.添加界面和发送留言功能. 所需类库 直接copy以下package.json 然后直接 npm install 或者yarn install 即可. package.json所需内容如下. { "name": "nodejs_message_board", "version": "2021.09&qu

  • javaWeb连接数据库实现简单登陆注册功能的全过程

    目录 实现步骤 jar包 数据库的驱动以及用户密码 jsp页面 注册页面 登陆成功和失败的页面 工具类 登陆的类 注册的类 两个映射路径 思路 登陆 注册 总结 实现步骤 创建maven项目 配置Tomcat 这些都不细说了 jar包 因为要连接数据库所以一定要在maven项目下的xml文件下配置数据库的jar包依赖 <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java&

随机推荐