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 相关文章推荐
ext for eclipse插件安装方法
Apr 27 Javascript
JavaScript 乱码问题
Aug 06 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
May 03 Javascript
JS重载实现方法分析
Dec 16 Javascript
JavaScript实现256色转灰度图
Feb 22 Javascript
浅谈webpack对样式的处理
Jan 05 Javascript
解决vue中对象属性改变视图不更新的问题
Feb 23 Javascript
实例详解Node.js 函数
Jun 10 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
Apr 19 Javascript
Vue全局loading及错误提示的思路与实现
Aug 09 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 Javascript
Element Tooltip 文字提示的使用示例
Jul 26 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 存取 MySQL 数据库的一个例子
2006/10/09 PHP
Windows下的PHP安装pear教程
2014/10/24 PHP
PHP调试的强悍利器之PHPDBG
2016/02/22 PHP
PHP微商城开源代码实例
2019/03/27 PHP
通过JAVAScript实现页面自适应
2007/01/19 Javascript
json跟xml的对比分析
2008/06/10 Javascript
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
JavaScript表达式:URL 协议介绍
2013/03/10 Javascript
JS+CSS实现可拖动的弹出提示框
2015/02/16 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
javascript对浅拷贝和深拷贝的详解
2016/10/14 Javascript
微信小程序 页面传参实例详解
2016/11/16 Javascript
整理关于Bootstrap表单的慕课笔记
2017/03/29 Javascript
在Vue中使用axios请求拦截的实现方法
2018/10/25 Javascript
微信小程序实现多行文字超出部分省略号显示功能
2019/10/23 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
解决vant-UI库修改样式无效的问题
2020/11/03 Javascript
Python2中的raw_input() 与 input()
2015/06/12 Python
Python IDE PyCharm的基本快捷键和配置简介
2015/11/04 Python
Python 多进程和数据传递的理解
2017/10/09 Python
python实现集中式的病毒扫描功能详解
2019/07/09 Python
python3中eval函数用法使用简介
2019/08/02 Python
django认证系统实现自定义权限管理的方法
2019/08/28 Python
python二元表达式用法
2019/12/04 Python
python框架Django实战商城项目之工程搭建过程图文详解
2020/03/09 Python
优衣库台湾官网:UNIQLO台湾
2019/02/01 全球购物
医科学校毕业生自荐信
2013/11/09 职场文书
工业学校毕业生自荐书
2014/01/03 职场文书
50岁生日感言
2014/01/23 职场文书
行政办公室岗位职责
2014/03/18 职场文书
机动车登记业务委托书
2014/10/08 职场文书
批评与自我批评总结
2014/10/17 职场文书
甲午大海战观后感
2015/06/02 职场文书
MySQL 自动填充 create_time 和 update_time
2022/05/20 MySQL