欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Node.js實(shí)現(xiàn)登陸注冊(cè)功能

 更新時(shí)間:2022年08月25日 10:37:09   作者:噠噠噠Q  
這篇文章主要為大家詳細(xì)介紹了Node.js實(shí)現(xiàn)登陸注冊(cè)功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Node.js實(shí)現(xiàn)登陸注冊(cè)的具體代碼,供大家參考,具體內(nèi)容如下

1.服務(wù)器端

在項(xiàng)目里創(chuàng)建一個(gè)json文件用來(lái)存儲(chǔ)數(shù)據(jù),通過(guò)express創(chuàng)建服務(wù)器對(duì)象,fs模塊對(duì)文件進(jìn)行讀寫。

運(yùn)用post請(qǐng)求

代碼如下:

var express = require('express')
var fs = require("fs")
var app = express()
app.use(express.static("www"))
app.use(express.urlencoded({extended:false}))
// 先獲取user.json里面的數(shù)據(jù)和req.body進(jìn)行對(duì)比
fs.readFile("./user.json",function(err,data){
? ? if (err) {
? ? ? ? userArr = []
? ? }else{
? ? ? ? userArr = JSON.parse(data)
? ? }
})
app.post("/zhuce",function(req,res,next){
? ? // 輸入框要驗(yàn)證的數(shù)據(jù)判斷機(jī)制:
? ? // 可以把正則表達(dá)式判斷放在前端:用戶體驗(yàn)好,判斷快
? ? // 也可以把正則表達(dá)式判斷放在后端:判斷相對(duì)安全,判斷慢
? ? // 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:"該賬號(hào)已注冊(cè)"
? ? ? ? })
? ? }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:"密碼錯(cuò)誤"
? ? ? ? ? ? })
? ? ? ? }
? ? }else{
? ? ? ? res.json({
? ? ? ? ? ? code:250,
? ? ? ? ? ? mima:"該賬號(hào)未注冊(cè)"
? ? ? ? })
? ? }
})

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

2.注冊(cè)頁(yè)面

在前端發(fā)送post請(qǐng)求傳送數(shù)據(jù),代碼如下:

<!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>注冊(cè)界面</title>
</head>
<body>
? ? <form action="">
? ? ? ? <!-- pattern 正則判斷 ? ? ? ? required 允許輸入框提交進(jìn)行正則判斷-->
? ? ? ? 用戶名:<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>
? ? ? ? 確認(rèn)密碼:<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.登錄頁(yè)面

依然使用post請(qǐng)求

<!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 允許輸入框提交進(jìn)行正則判斷-->
? ? ? ? 用戶名:<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>

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • nodejs 圖片預(yù)覽和上傳的示例代碼

    nodejs 圖片預(yù)覽和上傳的示例代碼

    本篇文章主要介紹了nodejs 圖片預(yù)覽和上傳的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • koa2使用ejs和nunjucks作為模板引擎的使用

    koa2使用ejs和nunjucks作為模板引擎的使用

    這篇文章主要介紹了koa2使用ejs和nunjucks作為模板引擎的使用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-11-11
  • Node.js開發(fā) path路徑模塊詳解

    Node.js開發(fā) path路徑模塊詳解

    path 模塊是 Node.js 官方提供的、用來(lái)處理路徑的模塊,它提供了一系列的方法和屬性,用來(lái)滿足用戶對(duì)路徑的處理需求,這篇文章主要介紹了Node.js開發(fā) path路徑模塊,需要的朋友可以參考下
    2024-02-02
  • npm 下載指定版本的組件方法

    npm 下載指定版本的組件方法

    今天小編就為大家分享一篇npm 下載指定版本的組件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 基于html5和nodejs相結(jié)合實(shí)現(xiàn)websocket即使通訊

    基于html5和nodejs相結(jié)合實(shí)現(xiàn)websocket即使通訊

    HTML5 擁有許多引人注目的新特性,如 Canvas、本地存儲(chǔ)、多媒體編程接口、WebSocket 等等。雖然現(xiàn)在大家把它捧的很火的樣子,但是個(gè)人認(rèn)為它還需要其他平臺(tái)的支持才能真正的"火起來(lái)"
    2015-11-11
  • Egret引擎開發(fā)指南之發(fā)布項(xiàng)目

    Egret引擎開發(fā)指南之發(fā)布項(xiàng)目

    當(dāng)我們制作完成一個(gè)項(xiàng)目后,我們需要把項(xiàng)目發(fā)布為正式版本,并放到網(wǎng)上提供給玩家。那么在egret中簡(jiǎn)單的使用build命令并非打包最終的正式版文件。你還需要進(jìn)行最終的發(fā)布操作。
    2014-09-09
  • 淺析node.js的模塊加載機(jī)制

    淺析node.js的模塊加載機(jī)制

    這篇文章主要介紹了淺析node.js的模塊加載機(jī)制,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • autojs的nodejs打包成品app經(jīng)驗(yàn)分享

    autojs的nodejs打包成品app經(jīng)驗(yàn)分享

    這篇文章主要為大家介紹了autojs的nodejs打包成品app經(jīng)驗(yàn)分享,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 監(jiān)控Nodejs的性能實(shí)例代碼

    監(jiān)控Nodejs的性能實(shí)例代碼

    這篇文章主要介紹了監(jiān)控Nodejs的性能實(shí)例代碼,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • nodejs基礎(chǔ)之多進(jìn)程實(shí)例詳解

    nodejs基礎(chǔ)之多進(jìn)程實(shí)例詳解

    這篇文章主要介紹了nodejs基礎(chǔ)之多進(jìn)程,結(jié)合實(shí)例形式分析了nodejs多進(jìn)程的概念、原理、相關(guān)函數(shù)使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2018-12-12

最新評(píng)論