如何实现注册功能

html部分

<script>
    $('#reg_btn').ready().click(function () {        //点击注册按钮触发方法
         const formData = $('#form_register').serialize();        //实现获取数据串化(bb&&bb)
        
         //验证用户名:
         if(($("#name").val())==null){
            alert("用户名不能为空!");
            return;
         }else{
            var $reg = /^\w{2,}$/;    //使用正则
            if(!$reg.test($("#name").val())){
                alert("用户名至少两位!");
                return;
            }
         }
        
         //验证密码:
         if($("#pass").val()==null){
            alert("密码不能为空!");
            return;
         }else{
            var $reg = /^\w{2,}$/;
            if(!$reg.test($("#pass").val())){
                alert("密码至少两位!");
                return;
            }
         }
         
         //确认密码:
         if($("#pass_again").val()==null){
            console.log("heihei");
            alert("请再次输入密码!");
            return;
         }
         
         //验证两次密码一致性:
         if($("#pass").val()!=$("#pass_again").val()){
            console.log("haha");
            alert("两次密码不一致,请重新输入!");
            return;
         }
         
         console.log(formData)        //在控制台中打印获取的表单数据

         $.ajax({ 
            type:'get',  
            url:'/user/registersend',
            data:formData,
            dataType:"JSON",
            success:function(json1){
                if(json1.code === 200){
                    alert("注册成功!即将跳转到主页");
                    window.location.href="/user/main";
                }else if(json1.code === 400){
                    alert("注册失败!"+json1.msg);
                }
            }
        })
    })
</script>
</html>
</html>

js部分

router.get('/register', function(req, res, next) {
  //获取请求字段
  res.render('register', { title: 'Express' });
});
/* 执行注册 */
router.get('/registersend', function(req, res, next) {
  //获取请求字段

  console.log(req.query);   //控制台打印一下看看成功接收到没
  var username = req.query.name;    //获取前台请求参数
  var password = req.query.pass;
  var email = req.query.email;

  //启用连接池查询
  pool.getConnection(function (err, connection) {
    //先判断该账号是否存在
    
    //定义一个查询sql语句
    var $sql1 = "select * from user where USERNAME=?";
    //根据前端给的username补齐数据,返回result-查询到的结果
    connection.query($sql1, [username], function (err, result) {
      //我们重点关注数据长度 大于零说明查到东西了
      var resultJson = result;
      console.log(resultJson.length);
      //与登录逻辑不同,注册逻辑是有数据则报错
      if (resultJson.length !== 0) {
        result = {
          code: 400,
          msg: '该账号已存在'
        };
        res.json(result);
        connection.release();
      } else {  //账号不存在,可以注册,用insert插入数据
       
        var $sql1 = "insert into user (USERNAME,PASSWORD,EMAIL) VALUES(?,?,?)";
        connection.query($sql1, [username,password,email], function (err, result) {
            
           
          var temp = result.affectedRows;  //取得数据库更让新结果
          console.log(temp);
          if (temp == 1) {
            result = {
              code: 200,
              msg: '注册成功'
            };
          } else {
            result = {
              code: 400,
              msg: '注册失败'
            };
          }
          res.json(result); // 以json形式,把操作结果返回给前台页面
          connection.release();// 释放连接
          console.log('找到了')
        });
      }
    });
  });
})

module.exports = router;

数据库部分

运行截图

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_53696387

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值