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

建立一个登录表单网站

来源: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>
            <input type="email" id="email" class="form_style" />
          </div>
          <div class="form_group">
            <label for="password" class="sub_title">password</label>
            <input
              type="password"
              id="password"
              class="form_style"
              pattern="(?=.*\d)(?=.*[a-z])(?=.*[a-z]).{8,}"
              title="must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters"
              required
            />
          </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互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • AI边界平台:智能对话、写作、画图,一站式解决方案
    边界AI平台
    探索AI边界平台,领先的智能AI对话、写作与画图生成工具。高效便捷,满足多样化需求。立即体验!
    15次使用
  • 讯飞AI大学堂免费AI认证证书:大模型工程师认证,提升您的职场竞争力
    免费AI认证证书
    科大讯飞AI大学堂推出免费大模型工程师认证,助力您掌握AI技能,提升职场竞争力。体系化学习,实战项目,权威认证,助您成为企业级大模型应用人才。
    42次使用
  • 茅茅虫AIGC检测:精准识别AI生成内容,保障学术诚信
    茅茅虫AIGC检测
    茅茅虫AIGC检测,湖南茅茅虫科技有限公司倾力打造,运用NLP技术精准识别AI生成文本,提供论文、专著等学术文本的AIGC检测服务。支持多种格式,生成可视化报告,保障您的学术诚信和内容质量。
    164次使用
  • 赛林匹克平台:科技赛事聚合,赋能AI、算力、量子计算创新
    赛林匹克平台(Challympics)
    探索赛林匹克平台Challympics,一个聚焦人工智能、算力算法、量子计算等前沿技术的赛事聚合平台。连接产学研用,助力科技创新与产业升级。
    242次使用
  • SEO  笔格AIPPT:AI智能PPT制作,免费生成,高效演示
    笔格AIPPT
    SEO 笔格AIPPT是135编辑器推出的AI智能PPT制作平台,依托DeepSeek大模型,实现智能大纲生成、一键PPT生成、AI文字优化、图像生成等功能。免费试用,提升PPT制作效率,适用于商务演示、教育培训等多种场景。
    184次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码