Bootstrap实现前端登录页面带验证码功能完整示例


Posted in Javascript onMarch 26, 2020

本文实例讲述了Bootstrap实现前端登录页面带验证码功能。分享给大家供大家参考,具体如下:

Bootstrap有自定义的验证码样式,在前端页面可以直接使用,他的css、js在使用前要在开头引入

上代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <!-- 告诉浏览器网页所识别的文件类型及语言类型 -->
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>登录</title>
  <!-- 让一些搜索引擎搜索到你的网页 -->
  <meta name="description" content="">
  <meta name="keywords" content="">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="external nofollow" > 
  <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://cdn.bootcss.com/popper.js/1.12.5/umd/popper.min.js"></script>
  <script src="https://cdn.bootcss.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
  <script src="tool.js"></script>
  <style>
  .carousel-inner img {
    width:100%;
    height:100%;
  }
  .jumbotron {
    margin-top: 10px;
    margin-bottom: 0px;
    padding-top: 10px;
  }
  #demo {
    width:100%;
    height: 500px;
  }
  .row {
    height: 264px;
  }
  .left {
    float: left;
    width: 70%;
  }
  .right {
    float: left;
    width: 30%;
  }
  .card {
    height: 340px;
  }
  .carousel-inner {
    height: 500px;
  }
  .footer {
    position: absolute;
    bottom: 0;
    height: 60px;
  }
  .jumheight1 {
    height: 100px;
  }
  .jumheight2 {
    height: 100px;
  }
  .end_name {
    margin-bottom: 5px;
  }
  .footer2 {
    padding-top: 210px;
    text-align: center;
  }
  .test{
    margin-bottom: 75px;
  }
  .carousel-control-prev,
  .carousel-control-next{
    bottom: 120px;
  }
  </style>
</head>
<body>
  <div>
    <form class="form active" method="post" action="{:url('index/Login/doLogin')}">
    <div class="jumbotron text-info bg-light jumheight1">
      <h1>图书阅读网</h1>
      <p>一个免费的图书网站</p>
    </div>
    <!-- 轮播图 -->
    <!-- 指示符 -->
    <div class="row">
    <div class="left">
    <div id="demo" class="carousel slide " data-ride="carousel">
      <ul class="carousel-indicators">
        <li data-target="#demo" data-slide-to="0" class="active"></li>
        <li data-target="#demo" data-slide-to="1"></li>
        <li data-target="#demo" data-slide-to="2"></li>
      </ul>
      <!-- 轮播图片 -->
      <div class="carousel-inner">
        <div class="carousel-item active">
          <img src="http://static.runoob.com/images/mix/img_fjords_wide.jpg">
        </div>
        <div class="carousel-item">
          <img src="http://static.runoob.com/images/mix/img_nature_wide.jpg">
        </div>
        <div class="carousel-item">
          <img src="http://static.runoob.com/images/mix/img_mountains_wide.jpg">
        </div>
      </div>
      <!-- 左右切换按钮 -->
      <a href="#demo" rel="external nofollow" rel="external nofollow" class="carousel-control-prev" data-slide="prev">
        <span class="carousel-control-prev-icon"></span>
      </a>
      <a href="#demo" rel="external nofollow" rel="external nofollow" class="carousel-control-next" data-slide=next>
        <span class="carousel-control-next-icon"></span>
      </a>
    </div>
    </div>
    <div class="right">
    <!-- 登陆窗口 -->
    <div class="card">
      <div class="card-header">
        用户登陆
      </div>
      <div class="card-body">
        <form>
          <table style="border-collapse: separate;/*border-spacing: 30px 20px;*/">
            <tr>
              <td class="margin-top:10">
                <label>电话号码:</label>
              </td>
              <td>
                  <input type="text" name="username" pattern="^\d{11}" id="username" class="form-control" placeholder="请输入您的电话号码">
                <!-- <input type="text" name="username" pattern="^\d{11}" id="username" class="form-control" placeholder="请输入您的电话号码" required> -->
              </td>
              
            </tr>
            <tr>
              <td>
                <label>密码:</label>
              </td>
              <td>
                <input type="password" name="password" id="password" class="form-control" placeholder="请输入您的密码">
                
              </td>
            </tr>
              <tr>
              <td>
                <label for="captcha" class="test">验证码:</label> 
              </td>
              <td> 
                
                <input type="text" name="captcha" class="form-control "  id="captcha" placeholder="请输入验证码">
                <!-- 点击验证码更换 -->
                <br>
                <div class="code-img"><img height="50px" src="{:captcha_src()}" alt="captcha" onClick="this.src='{:captcha_src()}?'+Math.random()"/></div>
              </td>
            </tr>        
          </table>
          <div class="footer"> 
          <button type="submit" class="btn btn-primary" >登陆</button>
          <button type="submit" class="btn btn-secondary " formaction="{:url('index/Repassword/index')}" >忘记密码?</button> 
          </div>
        </form>
      </div>
    </div>
    </div>
    </div>
    
    </div>
  </div>
  <script>
    fieldTest();
  </script>
</body>
</html>

效果图:

Bootstrap实现前端登录页面带验证码功能完整示例

这里还有轮播图,点击验证码时会更新

可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

Javascript 相关文章推荐
如何取得中文输入的真实长度?
Jun 24 Javascript
jQuery入门知识简介
Mar 04 Javascript
js判断url是否有效的两种方法
Mar 04 Javascript
JavaScript监听和禁用浏览器回车事件实例
Jan 31 Javascript
JavaScript中的Math.E属性使用详解
Jun 12 Javascript
js字符串引用的两种方式(必看)
Sep 18 Javascript
seajs模块之间依赖的加载以及模块的执行
Oct 21 Javascript
从零学习node.js之详解异步控制工具async(八)
Feb 27 Javascript
Angular2安装angular-cli
May 21 Javascript
Vue动态实现评分效果
May 24 Javascript
详解Webstorm 新建.vue文件支持高亮vue语法和es6语法
Oct 26 Javascript
Vue封装全局过滤器Filters的步骤
Sep 16 Javascript
jquery css实现流程进度条
Mar 26 #jQuery
jquery实现上传文件进度条
Mar 26 #jQuery
jquery实现进度条状态展示
Mar 26 #jQuery
js中switch语句的学习笔记
Mar 25 #Javascript
JS实现进度条动态加载特效
Mar 25 #Javascript
使用Angular9和TypeScript开发RPG游戏的方法
Mar 25 #Javascript
javascript+css实现进度条效果
Mar 25 #Javascript
You might like
php 日期时间处理函数小结
2009/12/18 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
php中url传递中文字符,特殊危险字符的解决方法
2013/08/17 PHP
laravel 4安装及入门图文教程
2014/10/29 PHP
PHP结合Ueditor并修改图片上传路径
2016/10/16 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
Javascript 构造函数 实例分析
2008/11/26 Javascript
jQuery 通过事件委派一次绑定多种事件,以减少事件冗余
2010/06/30 Javascript
jquery的$getjson调用并获取远程的JSON字符串问题
2012/12/10 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
JavaScript中标识符提升问题
2015/06/11 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
python 简易计算器程序,代码就几行
2009/08/29 Python
Python json模块dumps、loads操作示例
2018/09/06 Python
详解如何修改jupyter notebook的默认目录和默认浏览器
2021/01/24 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
新秀丽拉杆箱美国官方网站:Samsonite美国
2016/07/25 全球购物
美国在线宠物用品商店:Entirely Pets
2017/01/01 全球购物
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
视光学专业毕业生推荐信
2013/10/28 职场文书
应聘自荐信
2013/12/14 职场文书
问卷调查计划书
2014/01/10 职场文书
缴纳养老保险的证明
2014/01/10 职场文书
杠杆的科学教学反思
2014/01/10 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
《鸿门宴》教学反思
2014/04/22 职场文书
演讲稿格式范文
2014/05/19 职场文书
新党章心得体会
2014/09/04 职场文书
学习优秀党务工作者先进事迹材料思想报告
2014/09/17 职场文书
大学生翘课检讨书范文
2014/10/06 职场文书
2014光棍节单身联谊活动策划书
2014/10/10 职场文书
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS
CSS list-style-type属性使用方法
2023/05/21 HTML / CSS