Node.js实现登陆注册功能

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>

推荐阅读

    电脑可以登陆安智|安智账号登录

    电脑可以登陆安智|安智账号登录,,安智账号登录可能是你手机版本太低,升级手机即可。安智账号实名认证应用程序(外语缩写:App;外语全称:Appl

    js设置div的边框|怎样给div设置边框

    js设置div的边框|怎样给div设置边框,,1. 怎样给div设置边框1、首先新建一个html文件,输入基本的内容,这里设置一个div,并把它的class设置为de

    新皇冠刷电脑版|新皇冠登陆

    新皇冠刷电脑版|新皇冠登陆,,新皇冠登陆您好!很高兴能为您解答,         现在刚申请的QQ升第一个星星需要5天,升第二个星星需要7天 ,

    金蝶门户登录|金蝶kis专业版如何登陆

    金蝶门户登录|金蝶kis专业版如何登陆,,1.金蝶kis专业版如何登陆一、金蝶kis专业版如何登陆方法:1,用户名输入,manager2,密码为空,3,至于服务器,是

    js设置样式|js设置样式类

    js设置样式|js设置样式类,,js设置样式    javascript改变CSS样式分为局部和全局,分别如下:  一、局部改变样式    有三种方法:直接

    js用代码实现简单购物车

    js用代码实现简单购物车,,图: 选择所有按钮: 复制代码代码如下所示: 选择 笔记本电脑:3000元 笔记本电脑:3000元 笔记本电脑:3000元 笔记本电脑:3

    js设置背景色|js设置颜色

    js设置背景色|js设置颜色,,js设置背景色首先通过js定位到div的子元素,再通过setatteibute方法给属性添加背景色。js设置颜色js改变字体的颜

    电脑登录蓝屏|电脑登陆后蓝屏

    电脑登录蓝屏|电脑登陆后蓝屏,,电脑登陆后蓝屏蓝屏原因大多都是因驱动问题导致;打开设置—更新和安全—恢复—点击高级启动中的“立即重启