【HTML+CSS+JS】简单的登录注册验证

2023-10-31

简单的小说明

本文是基于https://blog.csdn.net/NpcCat/article/details/106434653?spm=1001.2014.3001.5501的基础上的优化
有私信希望我做登录的用户名密码验证和登录后的页面跳转,这里用JS简单实现一下
还有很多额外的可以做的优化如输入信息格式的验证、查询用户名是否重复等都可以在取到用户输入的信息后通过一些简单的方法实现,百度上的大佬们也很多方法,这里就不进一步细化了。

效果

在这里插入图片描述

源码

HTML

登录注册.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>login</title>
		<link rel="stylesheet" type="text/css" href="pageChange.css" />
		<script src="pageChange.js"></script>
		<script src="Click.js"></script>
	</head>
	<body>
		<div class="control">
			<div class="item">
				<div class="active">登录</div><div>注册</div>
			</div>
			<div class="content">
				<div style="display: block;">
					<p>账号</p>
					<input type="text" placeholder="username" id="login-username"/>
					<p>密码</p>
					<input type="password" placeholder="password" id="login-password"/>
					<br/>
					<input type="submit" value="登录" onclick="login()"/>
				</div>
				<div>
					<p>用户名</p>
					<input type="text" placeholder="username" id="register-username"/>
					<p>密码</p>
					<input type="password" placeholder="password" id="register-password"/>
					<p>邮箱</p>
					<input type="text" placeholder="email" id="register-email"/>
					<br/>
					<input type="submit" value="登录" onclick="register()"/>
				</div>
			</div>
		</div>
	</body>
</html>


loginSuccess.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<h1>login Success</h1>
	</body>
</html>

CSS

*{
	margin: 0;
	padding: 0;
}
body{
	background: #f3f3f3;
}
.control{
	width: 340px;
	background: white;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	border-radius: 5px;
}
.item{
	width: 340px;
	height: 60px;
	background: #eeeeee;
}
.item div{
	width: 170px;
	height: 60px;
	display: inline-block;
	color: black;
	font-size: 18px;
	text-align: center;
	line-height: 60px;
	cursor: pointer;
}
.content{
	width: 100%;
}
.content div{
	margin: 20px 30px;
	display: none;
	text-align: left;
}
p{
	color: #4a4a4a;
	margin-top: 30px;
	margin-bottom: 6px;
	font-size: 15px;
}
.content input[type="text"], .content input[type="password"]{
	width: 100%;
	height: 40px;
	border-radius: 3px;
	border: 1px solid #adadad;
	padding: 0 10px;
	box-sizing: border-box;
}
.content input[type="submit"]{
	margin-top: 40px;
	width: 100%;
	height: 40px;
	border-radius: 5px;
	color: white;
	border: 1px solid #adadad;
	background: #00dd60;
	cursor: pointer;
	letter-spacing: 4px;
	margin-bottom: 40px;
}
.active{
	background: white;
}
.item div:hover{
	background: #f6f6f6;
}


JS

pageChange.js

window.onload = function(){
	var item = document.getElementsByClassName("item");
	var it = item[0].getElementsByTagName("div");
	
	var content = document.getElementsByClassName("content");
	var con = content[0].getElementsByTagName("div");
	
	for(let i=0;i<it.length;i++){
		it[i].onclick = function(){
			for(let j=0;j<it.length;j++){
				it[j].className = '';
				con[j].style.display = "none";
			}
			this.className = "active";
			it[i].index=i;
			con[i].style.display = "block";
		}
	}
}

Click.js

var user = new Map([["123","123"]])

function login(){
	var username = document.getElementById("login-username").value;
	var password = document.getElementById("login-password").value;
	
	if(user.get(username)==password){
		window.location.href="loginSuccess.html";
	}else{
		alert("用户名或密码错误");
	}
}

function register(){
	var username = document.getElementById("register-username").value;
	var password = document.getElementById("register-password").value;
	
	user.set(username,password);
	alert("注册成功,请登录");
	document.getElementById("register-username").value="";
	document.getElementById("register-password").value="";
	document.getElementById("register-email").value="";
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【HTML+CSS+JS】简单的登录注册验证 的相关文章

  • JavaScript 验证和 PHP 验证?

    我正在使用 jquery 验证插件来验证空表单 我还应该在 PHP 中检查一下以确保 100 正确吗 或者用 javascript 验证就可以了 谢谢 您应该始终在服务器上进行验证 如果用户以某种方式不使用 Javascript 提交表单
  • 为什么 setTimeout 在 Chrome 中触发两次,而在 IE 或 Firefox 中则不然?

    有人能告诉我为什么 javascript 函数 生成新号码 在 Chrome 中触发两次 但在 IE 或 Firefox 中则不会 使用 Chrome 20 0 1132 57 IE9 和 Firefox 13
  • 如何通过单击链接来更改 div 的内容?

    这是我的网页的 修改后的 jsfiddle 它还有很多 而且定位是正确的 与此相反 http jsfiddle net ry0tec3p 1 http jsfiddle net ry0tec3p 1 a href class btn1 st
  • React Router v4 不渲染组件

    React Router v4 渲染组件存在问题 在应用程序初始加载时 它将呈现与 URL 相对应的正确组件 但是 任何后续的组件Link单击不会呈现所需的组件 图书馆 反应路由器 4 2 2 https reacttraining com
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • 合并 2 个大型 CSS 文件的有效方法

    我正在寻找一个可以合并 2 个大型 CSS 文件的工具 到目前为止我尝试过的所有方法 例如CSSMerge 都没有成功 其中一些只是随机删除属性 其他人则因 webkit 和 moz 等非标准属性而窒息 并给我错误 我还需要保留每条规则大小
  • 如何使用角度材料在具有可扩展行的表格中创建嵌套垫表

    我有以下数据 id c9d5ab1a subdomain wing domain aircraft part id c9d5ab1a info mimetype application json info dependent parent
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • mongodb 聚合 - 累积字段的不同组值

    如果我有Player表格文件 name String score Int 我有Group文档 其中组代表玩家列表 groupName String players ObjectID 玩家可以属于多个组 我想做一个聚合Player文档 按以下
  • 如何始终将焦点保持在文本框中

    我创建了一个包含两个 div 的 HTML 页面 左侧的 div 页面的 90 是 ajax 结果的目标 右侧的 div 页面的 10 包含一个文本框 该页面的想法是在文本框中输入零件编号 通过条形码扫描仪 并显示与该零件编号匹配的绘图 显
  • 为什么我的交互式图像仅在 Internet Explorer 上出现故障?

    我的问题 我为自己制作了一个图像地图 交互式图像 它在 Chrome safari 和 Firefox 上完美运行 然而 当我在可怕的互联网浏览器上尝试它时 它真的很糟糕 这些小点应该扩展到更大的盒子中 在互联网浏览器上它要么不起作用 要么
  • 如何正确取消引用然后删除 JavaScript 对象?

    我想知道从内存中完全取消引用 JavaScript 对象的正确方法 确保删除时不会在内存中悬空 并且垃圾收集器会删除该对象 当我看这个问题时在 JavaScript 中删除对象 https stackoverflow com questio
  • 具有 100% 高度行和 Internet Explorer 9 的表格

    我有以下示例 div style height 150px background color AAAAFF div
  • Vaadin 12 将对象传递给 JavaScript 函数:无法对类进行编码

    Vaadin 12 Kotlin 项目 In my myPage html我有JavaScript myObject redirectToCheckout sessionId 1111 2222 所以我需要调用javaScript函数red
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用 CSS 的响应式图像

    我发现调整图像大小以使其具有响应能力很棘手 我正在开发一个 php 应用程序来自动将网站转换为响应式版本 我有点被图像困住了 我已经成功地为网站上的每个图像添加了一个包装类 并且可以很好地调整图像的大小 我的问题在于自然小于窗口的图像 例如
  • Google Maps API (v3) 添加/更新标记

    编辑 它现在可以工作 但如果用户不允许或没有基于位置的服务 则不会加载 请参阅 jsfiddle 示例接受的答案评论 我已经浏览了一些教程和问题 但我无法安静地理解正在发生的事情 或者在这种情况下 没有发生 当用户单击链接时 我正在加载地图
  • Highcharts jQuery 渲染问题 - 所有浏览器

    我在尝试使用构建堆积柱形图时遇到了一个奇怪的问题高图表 http www highcharts com 当图表呈现时 在您调整浏览器大小之前 不会显示列无论如何 导致图表重绘 我认为 图表的其余部分显示 轴 标题等 但不显示列本身 我在 I
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 如何从 json 文件创建模型? (ExtJS)

    这是我想使用 json 文件创建的模型 Ext define Users extend Ext data Model fields name user id type int name user name type string 为了根据服

随机推荐

  • AS 添加AAR 文件 Gradle 7.0+ 设置aar路径失败问题

    https blog csdn net a940659387 article details 120514674
  • 数据结构小白之二叉树的遍历和查找

    1 存储方式的分析 1 1 数组储存方式的分析 优点 通过下标的访问 速度快 还可以使用二分法提高检索的速度 缺点 如果要检索某个值 或者插入值 整个数组就会进行移动 从而造成较低的效率 同时如果需要扩容的话 从底层而言 每一次数组的扩容就
  • 区块链技术将如何改变制造业?对制造业的价值何在?

    作为虚拟货币的底层技术 区块链正风生水起 目前区块链技术的应用场景在不断拓展 成为全球创新企业关注的热点 目前区块链的主要应用还是集中于金融支付领域 比如跨境支付 股票交易 身份确认等 作为一种分布式记帐技术 区块链正在改变金融业 而且它也
  • 11月26日 创建敌人血量UMG,游戏分数和游戏时间UMG,人物开始位置与不同的游戏模式,控制台功能治愈 ,杀死AI

    C 创建敌人血量UMG 新建一个USERUMG的Class类 h Fill out your copyright notice in the Description page of Project Settings pragma once
  • 普元SOA相关概念

    SOA 面向服务的体系结构 Service oriented architecture 是构造分布式计算的应用程序的方法 它将应用程序功能作为服务发送给最终用户或者其他服务 BPS 普元业务流程平台套件Primeton BPS Busine
  • 初学gitlab设置访问权限

    写本文的目的是 能够实现开发代码共享 1 打开一个项目your project 主界面如下图所示 2 将gitlab项目私有设置为内部 在左侧工具栏中找到Setting 并点进去 将Project visibility设置为Internal
  • 快捷键常识及JDK配置

    进制之间的转换 十进制 0 1 2 3 4 5 6 7 8 9 二进制 0 1 八进制 0 1 2 3 4 5 6 7 十六进制 0123456789ABCDEF 其他进制转十进制 数字 进制 当前位数 1 数字 进制0 二进制 转换 十进
  • 基于STM32单片机电子称重系统设计_最终稿

    摘 要 称重技术自古以来便被人们所重视 与我们生活的各个方面息息相关 电子称重技术能够在科学研究 工业生产制造及其他生产和日常生活中得到广泛应用 随着科学技术时代的来临 智能化的仪器已经取代了传统的仪表和控制设备 让我们的传统仪器也有了翻天
  • springboot读取模版文件

    前言 resources下的template目录下的模版文件 第一种 第二种 第三种 templateDir template 第一种 Resource resource new ClassPathResource templateDir
  • ubuntu安装docker

    如果之前有的朋友安装了Docker 不成功的 可以先卸载旧的版本 sudo apt get remove docker docker engine docker io containerd runc 没安装的朋友 可以不用执行 一 安装前的
  • 第十三届蓝桥杯青少组省赛Python真题,包含答案

    目录 一 选择题 二 编程题 第十三届蓝桥杯青少组省赛Python真题 包含答案 一 选择题 第 1 题 单选题 下列关于函数的说法正确的是 答案 C 第 2 题 单选题 十进制数55转换成十六进制是 答案 C 第 3题 单选题 下列方法中
  • Netty应用UDP协议

    UDP是用户数据报协议 User Datagram protocol 的简称 其主要作用是将网络数据封装成数据报形式 提供面向服务的简单信息传送服务 与TCP协议不同 UDP协议直接利用IP协议进行UDP数据报的传输 UDP提供的是面向无连
  • 记一次非常非常坑的springboot整合mybatisplus报错

    11 11 41 493 main DEBUG org springframework boot test context SpringBootTestContextBootstrapper Neither ContextConfigura
  • 基础技术篇 9 ——物联网常见通信协议与通讯协议梳理【上】- 通讯协议

    1 通信 与 通讯 傻傻分得清 传统意义上的 通讯 主要指电话 电报 电传 通讯的 讯 指消息 Message 媒体讯息通过通讯网络从一端传递到另外一端 媒体讯息的内容主要是话音 文字 图片和视频图像 其网络的构成主要由电子设备系统和无线电
  • 校园网Drcom自动登录脚本(OpenWRT适用)

    本文原文已发表至本人博客 哔哔哔哔 校园网Drcom自动登录脚本 OpenWRT适用 前言 优雅地登录校园网认证Dr com D版 Step1 连接校园网 打开Chrome并进入校园网认证界面 F12进入开发者模式 勾选Network 再勾
  • 基于EasyExcel的Excel读取

    1 引入依赖
  • synchronize和Lock锁的区别

    为什么java已经通过synchronized关键字实现同步访问了 还需要提供Lock synchronized的缺陷 前面博客有提到过释放对象的锁有两种情况 程序执行完同步代码块会释放代码块 程序在执行同步代码块是出现异常 JVM会自动释
  • Swift复写UIViewController的init方法

    在OC中我们直接复写 init 方法 instancetype initWithLeftViewController UIViewController leftViewController contentViewController UIV
  • 总结下CGI常用的环境变量

    每当服务器加载脚本的一个实例时下述环境变量被设置 并且是私有和特定于该实例的 AUTH TYPE如果服务器支持基本的认证并且如果脚本被保护 此变量提供认证类型 此信息是特定于协议和服务器的 AUTH TYPE的一个例子是BASIC CONT
  • 【HTML+CSS+JS】简单的登录注册验证

    登录注册验证 简单的小说明 效果 源码 HTML 登录注册 html loginSuccess html CSS JS pageChange js Click js 简单的小说明 本文是基于https blog csdn net NpcCa