实现综合案例的注册、登录和跳转到主页面

综合案例:实现注册、登录和跳转到主页面的功能。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小兔鲜案例</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> ...... 阅读详情

<!DOCTYPE html>

<html lang="en">

 

<head>

    <meta charset="UTF-8">

    <title>小兔鲜案例</title>

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="renderer" content="webkit">

    <!-- <link rel="shortcut icon" href="./favicon.ico"> -->

    <link rel="stylesheet" href="./课堂-综合案例/css/common.css">

    <link rel="stylesheet" href="./课堂-综合案例/css/register.css">

    <link rel="stylesheet" href="https://at.alicdn.com/t/font_2143783_iq6z4ey5vu.css">

</head>

 

<body>

    <!-- 项部导航 -->

    <div class="xtx_topnav">

        <div class="wrapper">

            <!-- 顶部导航 -->

            <ul class="xtx_navs">

                <li>

                    <a href=" ">请先登录</a >

                </li>

                <li>

                    <a href="./register.html">免费注册</a >

                </li>

                <li>

                    <a href="./center-order.html">我的订单</a >

                </li>

                <li>

                    <a href="./center.html">会员中心</a >

                </li>

                <li>

                    <a href="javascript:;">帮助中心</a >

                </li>

                <li>

                    <a href="javascript:;">在线客服</a >

                </li>

                <li>

                    <a href="javascript:;">

                        <i class="mobile sprites"></i> 手机版

                    </a >

                </li>

            </ul>

        </div>

    </div>

    <!-- 头部 -->

    <div class="xtx_header">

        <div class="wrapper">

            <!-- 网站Logo -->

            <h1 class="xtx_logo"><a href="/">小兔鲜儿</a ></h1>

            <!-- 主导航 -->

            <div class="xtx_navs">

                <ul class="clearfix">

                    <li>

                        <a href="./index.html">首页</a >

                    </li>

                    <li>

                        <a href="./category01.html">生鲜</a >

                    </li>

                    <li>

                        <a href="./category01.html">美食</a >

                    </li>

                    <li>

                        <a href="./category01.html">餐厨</a >

                    </li>

                    <li>

                        <a href="./category01.html">电器</a >

                    </li>

                    <li>

                        <a href="./category01.html">居家</a >

                    </li>

                    <li>

                        <a href="./category01.html">洗护</a >

                    </li>

                    <li>

                        <a href="./category01.html">孕婴</a >

                    </li>

                    <li>

                        <a href="./category01.html">服装</a >

                    </li>

                </ul>

            </div>

            <!-- 站内搜索 -->

            <div class="xtx_search clearfix">

                <!-- 购物车 -->

                <a href="./cart-none.html" class="xtx_search_cart sprites">

                    <i>2</i>

                </a >

                <!-- 搜索框 -->

                <div class="xtx_search_wrapper">

                    <input type="text" placeholder="搜一搜" onclick="location.href='./search.html'">

                </div>

            </div>

        </div>

    </div>

    <div class="xtx-wrapper">

        <div class="container">

            <!-- 卡片 -->

            <div class="xtx-card">

                <h3>新用户注册</h3>

                <form class="xtx-form">

                    <div data-prop="username" class="xtx-form-item">

                        <span class="iconfont icon-zhanghao"></span>

                        <input name="username" type="text" placeholder="设置用户名称">

                        <span class="msg"></span>

                    </div>

                    <div data-prop="phone" class="xtx-form-item">

                        <span class="iconfont icon-shouji"></span>

                        <input name="phone" type="text" placeholder="输入手机号码 ">

                        <span class="msg"></span>

                    </div>

                    <div data-prop="code" class="xtx-form-item">

                        <span class="iconfont icon-zhibiaozhushibiaozhu"></span>

                        <input name="code" type="text" placeholder="短信验证码">

                        <span class="msg"></span>

                        <a class="code" href="javascript:;">发送验证码</a >

                    </div>

                    <div data-prop="password" class="xtx-form-item">

                        <span class="iconfont icon-suo"></span>

                        <input name="password" type="password" placeholder="设置6至20位字母、数字和符号组合">

                        <span class="msg"></span>

                    </div>

                    <div data-prop="confirm" class="xtx-form-item">

                        <span class="iconfont icon-suo"></span>

                        <input name="confirm" type="password" placeholder="请再次输入上面密码">

                        <span class="msg"></span>

                    </div>

                    <div class="xtx-form-item pl50">

                        <i class="iconfont icon-queren"></i> 已阅读并同意

                        <i>《用户服务协议》</i>

                    </div>

                    <div class="xtx-form-item">

                        <button class="submit">下一步</button>

                        <!-- <a class="submit" href="javascript:;">下一步</a > -->

                    </div>

                </form>

            </div>

        </div>

    </div>

    <!-- 公共底部 -->

    <div class="xtx_footer clearfix">

        <div class="wrapper">

            <!-- 联系我们 -->

            <div class="contact clearfix">

                <dl>

                    <dt>客户服务</dt>

                    <dd class="chat">在线客服</dd>

                    <dd class="feedback">问题反馈</dd>

                </dl>

                <dl>

                    <dt>关注我们</dt>

                    <dd class="weixin">公众号</dd>

                    <dd class="weibo">微博</dd>

                </dl>

                <dl>

                    <dt>下载APP</dt>

                    <dd class="qrcode">

                        < img src="./课堂-综合案例/uploads/qrcode.jpg">

                    </dd>

                    <dd class="download">

                        <span>扫描二维码</span>

                        <span>立马下载APP</span>

                        <a href="javascript:;">下载页面</a >

                    </dd>

                </dl>

                <dl>

                    <dt>服务热线</dt>

                    <dd class="hotline">

                        400-0000-000

                        <small>周一至周日 8:00-18:00</small>

                    </dd>

                </dl>

            </div>

        </div>

        <!-- 其它 -->

        <div class="extra">

            <div class="wrapper">

                <!-- 口号 -->

                <div class="slogan">

                    <a href="javascript:;" class="price">价格亲民</a >

                    <a href="javascript:;" class="express">物流快捷</a >

                    <a href="javascript:;" class="quality">品质新鲜</a >

                </div>

                <!-- 版权信息 -->

                <div class="copyright">

                    <p>

                        <a href="javascript:;">关于我们</a >

                        <a href="javascript:;">帮助中心</a >

                        <a href="javascript:;">售后服务</a >

                        <a href="javascript:;">配送与验收</a >

                        <a href="javascript:;">商务合作</a >

                        <a href="javascript:;">搜索推荐</a >

                        <a href="javascript:;">友情链接</a >

                    </p >

                    <p>CopyRight &copy; 小兔鲜儿</p >

                </div>

            </div>

        </div>

    </div>

    <script>

     

          // 需求①: 发送验证码

          // 用户点击之后,显示 05秒后重新获取

          // 时间到了,自动改为 重新获取

          let code = document.querySelector('.code')

          code.addEventListener('click', function () {

            this.innerHTML = `05秒后重新获取`

            let mark = 5

            let time = setInterval(function () {

              mark--

              code.innerHTML = `0${mark}秒后重新获取`

              if (mark === 0) {

                clearInterval(time)

                code.innerHTML = `重新获取`

    

              }

            }, 1000)

          })

    

    

          // 需求②: 用户名验证(注意封装函数 verifyxxx)

          // 正则 /^ [a - zA - Z0 - 9 - _]{ 6, 10 } $ /

          // 如果不符合要求,则出现提示信息 并 return false 

          // 否则 则返回return true 

          // 之所以返回 布尔值,是为了 最后的提交按钮做准备

          let username = document.querySelector('[name=username]') //css属性选择器:通过属性进行选择标签 【属性=值】值不需要引号 等号两边不要加空格

          username.addEventListener('change', verifyUsername)

    

          // 封装函数verifyUsername 验证用户名是否满足正则表达式

          function verifyUsername() {

            let span = username.nextElementSibling

            let reg = /^[a-zA-Z0-9-_]{6,10}$/

            if (!reg.test(username.value)) {

              //如果不符合

              //给出提示信息

              span.innerHTML = '请输入6-10个字符'

              //return 退出函数

              return false

            }

            //如果符合 不给出提示

            span.innerHTML = ''

            return true //这里返回的布尔值是用于提交按钮进行验证的 只要return的返回值有false 就无法提交

          }

    

    

    

          // 需求③: 手机号验证

          // 正则: /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/

          // 其余同上

          let phone = document.querySelector('[name = phone]')

          phone.addEventListener('change', verifyPhone)

          //封装手机验证函数

          function verifyPhone() {

            let span = phone.nextElementSibling

            let reg = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/

            if (!reg.test(phone.value)) {

              //如果手机号不合法 给出提示信息

              span.innerHTML = '请输入合法手机号'

              return false

            }

            //手机号合法

            span.innerHTML = ''

            return true

          }

    

    

          // 需求④: 验证码验证

          // 正则 /^\d{6}$/

          // 其余同上

          let inputCode = document.querySelector('input[name=code]')

          inputCode.addEventListener('change', verifyInputCode)

          function verifyInputCode() {

            let span = inputCode.nextElementSibling

            let reg = /^\d{6}$/

            if (!reg.test(inputCode.value)) {

              //验证码不符合 给出提示信息

              span.innerHTML = '请输入6位数字验证码'

              return false

            }

            //验证码合法

            span.innerHTML = ' '

            return true

          }

    

          // 需求⑤: 密码验证

          // 正则 /^[a-zA-Z0-9-_]{6,20}$/

          // 其余同上

          let password = document.querySelector('[name = password]')//

          password.addEventListener('change', verifypassword)

          //封装手机验证函数

          function verifypassword() {

            let span = password.nextElementSibling

            let reg = /^[a-zA-Z0-9-_]{6,20}$/

            if (!reg.test(password.value)) {

              //如果手机号不合法 给出提示信息

              span.innerHTML = '请输入合法密码'

              return false

            }

            //密码合法

            span.innerHTML = ''

            return true

          }

    

    

    

          // 需求⑥: 再次密码验证

          // 如果本次密码不等于上面输入的密码则返回错误信息

          // 其余同上

          let confirm = document.querySelector('[name=confirm]')

          confirm.addEventListener('change', verifyConfirm)

          function verifyConfirm() {

            let span = confirm.nextElementSibling

            if (password.value !== confirm.value) {

              span.innerHTML = '两次密码不一致'

              return false

            }

            span.innerHTML = ''

            return true

          }

    

          

 

        // 需求七:我同意模块

        // 切换类 .icon-queren2 则是默认选中样式

       let icon=document.querySelector('.icon-queren')

      icon.addEventListener('click',function(){

          //classList.toggle()切换

          this.classList.toggle('icon-queren2')

      })

 

 

        // 需求八:提交按钮模块

        // 使用 submit 提交事件

        // 如果上面的每个模块,返回的是 false 则 阻止提交

        // 如果没有勾选同意协议,则提示 需要勾选

        // 在提交之前先验证

        let form=document.querySelector('form')

        form.addEventListener('submit',function(e){

        

            if(!verifyUsername()){

                //返回值是false,需要阻止提交

                //事假对象的阻止默认行为:e.preventDefault()

                e.preventDefault()

            }

            if(!verifyConfirm()){

              //同上

              e.preventDefault()

            }

            if(!verifyInputCode()){

                e.preventDefault()

            }

            if(!verifyPhone()){

                e.preventDefault()

            }

            if(!verifypassword()){

                e.preventDefault()

            }

  // 如果没有勾选同意协议,则提示 需要勾选

  //classList.contains 是否包含,如果有则返回true,没有则返回false

  if(!icon.classList.contains('icon-queren2')){

      alert('请勾选同意框')

      e.preventDefault()

  }

        })

    

    </script>

</body>

 

</html>

实现综合案例的注册、登录和跳转到主页面的功能 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>首页面</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> <!-- &l. 阅读详情

相关推荐

用vue实现注册页面、登录页面、主页之间跳转并保持登录状态【完整代码】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、页面的简单实现1.登录页面2.注册页面3.主页(显示个人信息)二、逻辑实现1.localStorage的使用2.功能实现登录注册主页路由配置文件总结 前言 本文主要讲解用vue来实现三个页面之间的跳转以及登录状态的实现,css还在努力学习中,所以界面做的很丑lol 要求: 1.三个页面,登录页面Login,注册页面Register,主页Home 2.用route路由实现不同页面逻辑跳转 3.登录状态 打开网页时,不论输

Anita的博客 4万+

使用onclick跳转到其他页面。使用button跳转到指定url

答1: onclick="javascript:window.location.href=aa.htm" _____________________________________________________________ 答2: onclick="location=URL" ______________________________________________________

cqinter的专栏 5420

Unity3D制作注册登录界面,并实现场景跳转

Unity3D制作注册登录界面,并实现场景跳转 一、新建项目工程 1、打开Unity3D,新建一个项目,将其命名为“Login”。我这里用的版本是Unity2018.4.2f1,不同版本制作过程中的界面可能稍有不同,但是不影响具体功能的实现。 2、可以将样例场景SampleScene重命名为Login,最好做到见名知意。 二、注册登录界面搭建 1、新建Canvas画布 2、首先选中Scene场景中的2D,让其在2D视角下进行编辑。然后修改Canvas中的Canvas Scaler画布分辨率自适应组件,

青哥 4万+

location.href 用法浅析

问题提出: 在做原型设计时候,对于静态页面的链接,这样写onclick="location.href='http://localhost:8082/default.pr_automata.forward.do?nextPage=/OrderMan/page/newOrder1.jsp'"&gt; 估计是最常用的链接了! 这时候,就会出现一个问题:如果单纯的用 &lt;a href="aa....

190

Vue实现登录注册功能

1.效果展示 2.注意:vue登录注册用到了 Vuex + localstorage+router等,使用了vue2,创建项目 3.先是在router中的index.js中写路由配置 import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) import {userInfo} from...

GUfeifei___的博客 2万+

登录注册功能的实现详解(多用户名注册、案例补充)

登录注册功能的实现详解(多用户名注册、案例补充) 案例功能说明 1、可以保存多个注册用户 2、注册时判断用户名是否存在,不存在可注册 3、注册成功后,跳转到登录页面 4、取出cookie里面的值,进行判断,若用户输入的用户名和密码匹配成功则成功登录 //登录界面 <body> 用户名 : <input type="text" id="uname" /><br&gt...

ZHANGJIN9546的博客 4869

html+js实现输入用户名和密码点击登录跳转页面

html+js实现输入用户名和密码点击登录跳转页面

m0_54256047的博客 1万+

逻辑漏洞:水平越权、垂直越权靶场练习

水平越权和垂直越权是组织中常见的管理问题,指的是员工在组织中所拥有的权力和责任超出其职位所应具备的范围。 水平越权是指员工在同一级别的职位上超越了其同事的权力和责任范围,通常表现为某个员工在团队中承担了过多的任务或权力,导致其他同事感到不公平或不满。 垂直越权则是指员工在组织中超越了其职位等级的权力和责任范围,通常表现为员工在没有得到上级批准的情况下做出决策或行动,可能会导致组织内部的混乱和冲突。

qq_68163788的博客 2470

简单的HTML登录页面制作及跳转页面

密码账号邮箱:

Stephen_CY666的博客 8098

【面试经验】大疆笔试-计算机视觉算法B卷

3、a=np.random.randn(3,3) b=np.random.randn(3,1) ,那么c=a*b的维度应该是:*是元素乘法或者torch.mul,@才是矩阵乘法或者torch.matmul,不会触发广播机制;8、将分辨率降低一半时,精标定内参(fx、fy、cx、cy、k1、k2、k3)焦距、光心、畸变系数将分别变成(fx、fy、cx/2、cy/2、k1、k2、k3),只能搜到光心变成一半,畸变系数不变。12、KLT算法在频闪光源、重复纹理、高速机动、环境照度低的情况下效果显著下降。

litterfinger的博客 1448

ROS专栏—基于STM32F103的INA219电源数据采集

文章主要记录了stm32f103对ina219的数据采集

热爱生活、奋斗前行 2354

登录注册页面跳转

用HTML、jQuery和css写一个简单的登录注册页面 看了一些前端部分的视频,有点手痒,想起大学时做的某管理系统的前端部分,当时基本都是靠着CV写的,现在想想应该可以自己写一点了。 话不多说,先上图: 首先是登录页面: 点击注册按钮可以跳转到注册页面: 注册页面做了一点简单的判断: 伪非空验证: 还有伪密码验证: 红字提示存在两秒,两秒后消失,清除密码框内的内容,但是不清除用户名框内的文本。 然后当用户名和密码输入正确以后(其实两次密码一样就行,用户名不空就好)就可以跳转到登录页面。这里有一个坑

qq_37807821的博客 5万+

从GAN生成失败案例出发:为什么你的AI画不准位置?CoordConv保姆级解决方案

本文深入探讨了GAN生成图像时位置偏移问题的根源,并提供了CoordConv的保姆级解决方案。通过分析传统CNN在空间坐标建模上的缺陷,详细介绍了CoordConv的原理、实现步骤及在StyleGAN2等模型中的实战应用,显著提升了医学图像生成等任务的定位精度。

pp12345的博客 204

实现综合案例的注册(register)、登录(login)和跳转到主页面(index)的功能

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小兔鲜案例</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> ......

qq_69105510的博客 1749

Jetson设备EXT4文件系统修复实战:从superblock损坏到系统恢复

本文详细介绍了Jetson设备因异常断电等原因导致EXT4文件系统superblock损坏后的诊断与修复实战。通过从健康设备移植fsck工具、使用备份超级块等步骤,指导用户逐步恢复系统,并提供了数据备份与预防措施,帮助用户有效应对嵌入式AI开发中的存储故障。

theta的博客 593

L2-028 秀恩爱分得快(测试点3说明)

古人云:秀恩爱,分得快。互联网上每天都有大量人发布大量照片,我们通过分析这些照片,可以分析人与人之间的亲密度。如果一张照片上出现了 K 个人,这些人两两间的亲密度就被定义为 1/K。任意两个人如果同时出现在若干张照片里,他们之间的亲密度就是所有这些同框照片对应的亲密度之和。下面给定一批照片,请你分析一对给定的情侣,看看他们分别有没有亲密度更高的异性朋友?

daybreak_alonely的博客 1412

实现综合案例的注册(register)、登录(login)和跳转到主页面(index)的功能。

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>小兔鲜案例</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit"> ...

qq_69105856的博客 1530

Win10系统下Protel 99 SE元件库导入报错?3步搞定File is not recognized问题

本文详细介绍了在Win10系统下解决Protel 99 SE元件库导入报错'File is not recognized'的3步终极方案。通过手动修改配置文件、使用专用工具和优化系统兼容性设置,帮助用户快速解决这一经典PCB设计软件的兼容性问题,提升工作效率。

m3n5b7v8c9x的博客 796

Vue+MySQL实现登录注册案例

Vue+MySQL实现登录案例 1.新建vue项目并连接数据库 具体步骤见vue连接mysql数据库 2.新建/views/login.vue 根据自己的喜好搭建页面

weixin_52580677的博客 2万+

运维系列【仅供参考】: Windos10和Windos11 配置intel网卡vlan的方法

Windos10和Windos11 配置intel网卡vlan的方法

weixin_54626591的博客 477

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android实例开发中登录注册界面的框架实现(android studio)

小项目框架 今天用QQ的时候想到了,不如用android studio 做一个类似于这样的登录软件。当然QQ的实现的功能特别复杂,UI界面也很多,不是单纯的一时新奇就可以做出来的。就是简单的实现了一些功能,做了三个界面;1.登录界面。2.注册界面。3.登陆后的界面。 功能描述 登录按钮------按钮实现跳转到下一个界面,并且判断输入的账号、密码是否符合规则(不为空),提示,登陆成功或失败 注册按...

不会游泳的程序猿 10万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

AndroidStudio创建手机登录注册跳转界面

一、新建一个空的LoginActivity 二、在activity.login.xml中进行布局设计 (一)那么如何打开呢这个.xml文件呢? 新建activity后里面会有初始代码,按住Ctrl键点击activity.login就可以进入xml文件了。 (二)如何进行登录界面的布局设计呢? 首先把这个xml改成线性布局,把这个改成LinearLayout。 然后进行布局界面设计 <?xml version="1.0" encoding="utf-8"?> <LinearLayout

weixin_47473717的博客 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android实现简单的登陆注册跳转

不知道是不是优快云网站有bug 今天上传案例截图时一直有问题 以前在编辑标签也遇到不能输入中文的时候..... 因为不能传图片 无法显示思维导图 那就用表格简单描述一下各个页面之间的跳转吧 图片后来添加上了 项目整体思路 登陆成功 登陆选项 登陆失败 首页 ...

hf_yys的博客 1万+

Android Studio创建注册页面跳转登录页面

本文是用来介绍Android Studio创建注册页面跳转登录页面的界面设计以及跳转功能地实现,完整结构见文章结尾。 用户注册界面 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.

东篱君的博客 1万+

Android开发----实现登录注册页面(创建本地数据库,对注册的账户密码进行存储)

实现了登录注册页面的开发,创建了本地数据库,用来存储注册的账户密码。注册账户为手机号,对账户为手机号进行了正则化验证。登录成功跳转至主页面。

Qingshan_z的博客 1万+
上一篇: 实现分页按钮的缩放效果 (结合过渡属性)
m0_69105708
博客等级 码龄5年 0粉丝 20原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值