当前位置:首页 > 文章列表 > 文章 > 前端 > 建立一个登录表单网站

建立一个登录表单网站

来源:dev.to 2024-11-22 16:50:51 0浏览 收藏

大家好,今天本人给大家带来文章《建立一个登录表单网站》,文中内容主要涉及到,如果你对文章方面的知识点感兴趣,那就请各位朋友继续看下去吧~希望能真正帮到你们,谢谢!

建立一个登录表单网站

介绍

开发者们大家好!我很高兴分享我的最新项目:登录表单。该项目非常适合那些希望构建一个干净且功能齐全的登录界面的人,用户可以使用该界面来验证自己的身份。这是使用 html、css 和 javascript 增强前端开发技能的好方法,同时创建专业的用户身份验证体验。

项目概况

登录表单是一个网络应用程序,旨在为用户提供安全且用户友好的方式登录网站。它采用现代且响应式的设计,允许用户输入凭据并访问站点的受保护区域。该项目演示了如何创建功能齐全且美观的登录表单。

特征

  • 响应式布局:登录表单适应不同的屏幕尺寸,在桌面和移动设备上提供最佳的查看体验。
  • 交互式元素:包括表单验证和错误消息等功能,以指导用户完成登录过程。
  • 简洁的设计:以视觉上有吸引力且易于使用的格式呈现登录字段。

使用的技术

  • html:提供登录表单的结构。
  • css:设置表单样式以创建现代且响应式的设计。
  • javascript:管理交互元素,包括表单验证和错误处理。

项目结构

以下是项目结构的概述:

login-form/
├── index.html
├── style.css
└── script.js
  • index.html:包含登录表单的 html 结构。
  • style.css:包含 css 样式以创建引人入胜且响应式的设计。
  • script.js:管理表单的交互元素,例如验证。

安装

要开始该项目,请按照以下步骤操作:

  1. 克隆存储库

    git clone https://github.com/abhishekgurjar-in/login-form.git
    
  2. 打开项目目录:

    cd login-form
    
  3. 运行项目:

    • 在网络浏览器中打开index.html 文件以查看登录表单。

用法

  1. 在网络浏览器中打开表单
  2. 在输入字段中输入您的凭据
  3. 提交表单来测试验证和错误处理。
  4. 查看错误消息如果输入字段未正确填写。

代码说明

超文本标记语言

index.html 文件定义了登录表单的结构,包括用户名和密码的输入字段以及提交按钮。这是一个片段:

<!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" />
    <link rel="stylesheet" href="style.css" />
    <script src="script.js" defer></script>
    <title>login form</title>
  </head>
  <body>
    <div class="container">
      <div id="loginform">
        <img src="./logo/user_13078032.png" alt="user logo" />
        <h1>login form</h1>
      </div>
      <div class="form_area">
        <h4 class="title">register now</h4>
        <form>
          <div class="form_group">
            <label for="email" class="sub_title">email</label>
            &lt;input type=&quot;email&quot; id=&quot;email&quot; class=&quot;form_style&quot; /&gt;
          </div>
          <div class="form_group">
            <label for="password" class="sub_title">password</label>
            &lt;input
              type=&quot;password&quot;
              id=&quot;password&quot;
              class=&quot;form_style&quot;
              pattern=&quot;(?=.*\d)(?=.*[a-z])(?=.*[a-z]).{8,}&quot;
              title=&quot;must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters&quot;
              required
            /&gt;
          </div>
          <div>
            <button class="btn">register</button>
          </div>
        </form>
      </div>
    </div>

    <div id="message">
      <h3>password must contain the following:</h3>
      <p id="letter" class="invalid">a <b>lowercase</b> letter</p>
      <p id="capital" class="invalid">a <b>capital (uppercase)</b> letter</p>
      <p id="number" class="invalid">a <b>number</b></p>
      <p id="length" class="invalid">minimum <b>8 characters</b></p>
    </div>

    <div class="footer">
      <p>made with ❤️ by abhishek gurjar</p>
    </div>
  </body>
</html>

css

style.css 文件设置登录表单的样式,确保其具有视觉吸引力和响应能力。以下是一些关键样式:

@import url("https://fonts.googleapis.com/css?family=poppins:400,500,600,700,800,900");

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  font-family: "poppins", sans-serif;
  background: #102770;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.container {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  margin-top: 8px;
  margin-bottom: 15px;
}

#loginform img {
  width: 100px;
  height: 100px;
}

#loginform h1 {
  padding-bottom: 40px;
  color: white;
}

.form_area {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
  max-width: 360px;
  border-radius: 25px;
  background-color: #ecf0f1;
  border: 10px solid rgba(0, 0, 0, 0.05);
}

.title {
  font-weight: 900;
  font-size: 1.5em;
  margin-top: 20px;
}

.sub_title {
  font-weight: 600;
  margin: 5px 0;
}

.form_group {
  display: flex;
  flex-direction: column;
  margin: 20px;
  align-items: baseline;
}

.form_style {
  outline: none;
  width: 250px;
  font-size: 15px;
  border-radius: 4px;
  padding: 12px;
  border: none;
}

.form_style:focus {
  border: 1px solid #8e8e8e;
}

.btn {
  background-color: #000000;
  color: white;
  margin: 20px 0;
  padding: 15px;
  width: 270px;
  font-size: 15px;
  border-radius: 10px;
  font-weight: bold;
  cursor: pointer;
  border: none;
  transition: all 0.2s ease;
}

.btn:hover {
  background-color: rgb(41, 40, 40);
}

#message {
  display: none;
  text-align: center;
  color: #ffffff;
}

#message p {
  padding: 10px 35px;
  font-size: 18px;
}

.valid {
  color: green;
}

.valid:before {
  content: "✔";
  margin-right: 10px;
}

.invalid {
  color: red;
}

.invalid:before {
  content: "✖";
  margin-right: 10px;
}

.footer {
  color: white;
  margin: 20px;
  text-align: center;
}

javascript

script.js 文件包含表单验证的功能。这是一个简单的演示片段:

let passInput = document.getElementById("password");
let letter = document.getElementById("letter");
let capital = document.getElementById("capital");
let number = document.getElementById("number");
let length = document.getElementById("length");

passInput.onfocus = function() {
  document.getElementById("message").style.display = "block";
};

passInput.onblur = function() {
  document.getElementById("message").style.display = "none";
};

passInput.onkeyup = function() {
  let lowerCaseLetters = /[a-z]/g;
  if (passInput.value.match(lowerCaseLetters)) {
    letter.classList.remove("invalid");
    letter.classList.add("valid");
  } else {
    letter.classList.remove("valid");
    letter.classList.add("invalid");
  }

  let upperCaseLetters = /[A-Z]/g;
  if (passInput.value.match(upperCaseLetters)) {
    capital.classList.remove("invalid");
    capital.classList.add("valid");
  } else {
    capital.classList.remove("valid");
    capital.classList.add("invalid");
  }

  let numbers = /[0-9]/g;
  if (passInput.value.match(numbers)) {
    number.classList.remove("invalid");
    number.classList.add("valid");
  } else {
    number.classList.remove("valid");
    number.classList.add("invalid");
  }

  if (passInput.value.length >= 8) {
    length.classList.remove("invalid");
    length.classList.add("valid");
  } else {
    length.classList.remove("valid");
    length.classList.add("invalid");
  }
};

现场演示

您可以在此处查看登录表单项目的现场演示。

结论

构建登录表单对于创建功能齐全且用户友好的身份验证界面来说是一次很棒的体验。该项目强调了表单验证和简洁设计在现代 web 开发中的重要性。通过应用 html、css 和 javascript,我们开发了一个登录表单,作为用户身份验证的关键组件。我希望这个项目能够激励您构建自己的登录或身份验证表单。快乐编码!

制作人员

这个项目是我在 web 开发方面持续学习之旅的一部分。

作者

  • 阿布舍克·古贾尔
    • github 简介

今天关于《建立一个登录表单网站》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

版本声明
本文转载于:dev.to 如有侵犯,请联系study_golang@163.com删除
拍照时屏幕频闪?拍照时屏幕频闪?
上一篇
拍照时屏幕频闪?
sdhc卡电脑不能删除?
下一篇
sdhc卡电脑不能删除?
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    511次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    498次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • 千音漫语:智能声音创作助手,AI配音、音视频翻译一站搞定!
    千音漫语
    千音漫语,北京熠声科技倾力打造的智能声音创作助手,提供AI配音、音视频翻译、语音识别、声音克隆等强大功能,助力有声书制作、视频创作、教育培训等领域,官网:https://qianyin123.com
    428次使用
  • MiniWork:智能高效AI工具平台,一站式工作学习效率解决方案
    MiniWork
    MiniWork是一款智能高效的AI工具平台,专为提升工作与学习效率而设计。整合文本处理、图像生成、营销策划及运营管理等多元AI工具,提供精准智能解决方案,让复杂工作简单高效。
    425次使用
  • NoCode (nocode.cn):零代码构建应用、网站、管理系统,降低开发门槛
    NoCode
    NoCode (nocode.cn)是领先的无代码开发平台,通过拖放、AI对话等简单操作,助您快速创建各类应用、网站与管理系统。无需编程知识,轻松实现个人生活、商业经营、企业管理多场景需求,大幅降低开发门槛,高效低成本。
    423次使用
  • 达医智影:阿里巴巴达摩院医疗AI影像早筛平台,CT一扫多筛癌症急慢病
    达医智影
    达医智影,阿里巴巴达摩院医疗AI创新力作。全球率先利用平扫CT实现“一扫多筛”,仅一次CT扫描即可高效识别多种癌症、急症及慢病,为疾病早期发现提供智能、精准的AI影像早筛解决方案。
    440次使用
  • 智慧芽Eureka:更懂技术创新的AI Agent平台,助力研发效率飞跃
    智慧芽Eureka
    智慧芽Eureka,专为技术创新打造的AI Agent平台。深度理解专利、研发、生物医药、材料、科创等复杂场景,通过专家级AI Agent精准执行任务,智能化工作流解放70%生产力,让您专注核心创新。
    457次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码