当前位置: 首页 > news >正文

登录注册静态网页实现(HTML,CSS)

实现效果图

实现效果

 使用HTML编写页面结构,CSS美化界面,点击注册,跳转到注册界面,均为静态网页,是课上的一个小作业~

使用正则表达式对输入进行验证,包括邮箱格式验证,用户名格式验证。

正则表达式

  • 字面值字符:例如字母、数字、空格等,可以直接匹配它们自身。

  • 特殊字符:例如点号 .、星号 *、加号 +、问号 ? 等,它们具有特殊的含义和功能。

  • 字符类:用方括号 [ ] 包围的字符集合,用于匹配方括号内的任意一个字符。

  • 元字符:例如 \d\w\s 等,用于匹配特定类型的字符,如数字、字母、空白字符等。

  • 量词:例如 {n}{n,}{n,m} 等,用于指定匹配的次数或范围。

  • 边界符号:例如 ^$\b\B 等,用于匹配字符串的开头、结尾或单词边界位置。

以上为菜鸟教程给出的基本概念

我用到的正则表达式还是很简单的代码中用到了^[a-zA-Z0-9 -]{6,16}$表示输入格式要求长度为6到16的由大/小写字母、空格或者连字符-组成,其中^表示匹配开始标识,$为匹配结束标识。

代码实现

首先是登录界面index.html

<!DOCTYPE html>
<html lang="zh"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>用户登录</title>
<link rel="stylesheet" href="css/login.css">
</head><body>
<form>
<div class="user">
<input type="text" name="name" placeholder="用户名" />
<input type="password" name="password" placeholder="密码" />
</div>
<div class="footer">
<input type="submit" name="submit" value="登录" class="btn">
<input type="submit" name="submit" value="注册" class="btn" formaction="register.html">
</div>
</form>
</body>
</html>

登录界面样式文件login.css

body {background: url(../images/dog.jpg) no-repeat center center fixed;background-size: cover;padding-top: 40px;
}form {width: 343px;height: 200px;margin: 0 auto;border: 1px solid rgba(0, 0, 0, 1);border-radius: 5px;overflow: hidden;text-align: center;
}input {width: 300px;height: 30px;border-radius: 5px;border: 1px solid rgba(255, 255, 255, 0.5);margin-bottom: 10px;
}.user {padding-top: 40px;
}.footer input {width: 50px;height: 34px;
}.btn {border-radius: 4px;border-radius: 6px;
}input[type=submit] {cursor: pointer;
}input:focus {background-color: rgba(0, 0, 0, 0.2);overflow: hidden;
}.btn:hover {background: rgba(0, 0, 0, 0.2);
}

其次是register.html

<!DOCTYPE html>
<html lang="zh"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>用户注册</title><link rel="stylesheet" href="./css/register.css">
</head><body><div><form action="#" class="contact_form" method="post"><ul><li class="usually"><h2>用户注册</h2></li><li class="usually"><label for="name">昵称:</label><!-- 用户名可以由大小写字母,0-9数字空格和连字符组成的长度为6-16的字符串 --><input type="text" name="name" id="name" autocomplete="off" requiredpattern="^[a-zA-Z0-9 -]{6,16}$"></li><li class="usually"><label for="mail">注册邮箱:</label><!-- 用户名可以由大小写字母,0-9数字空格和连字符组成的长度为6-16的字符串 --><input type="email" name="mail" id="mail" required></li><li class="usually"><label for="password">密码:</label><input type="password" name="password" id="password" autocomplete="off" required></li><li class="userselect"><label>性别:</label><input type="radio" id="male" name="gender" value="male" checked>男<input type="radio" id="female" name="gender" value="female">女</li><li class="usually"><label for="age">年龄:</label><input type="text" name="age" id="age" autocomplete="off" required pattern="^[0-9]{1,2}$"></li><li class="userselect"><label for="hobby">兴趣爱好:</label><input type="checkbox" name="swim" id="swim" checked>游泳<input type="checkbox" name="climb" id="climb">登山<input type="checkbox" name="run" id="run">跑步<input type="checkbox" name="walk" id="walk">散步</li><li class="usually"><label for="province">所在省份:</label><select name="province" id="province"><option value="liaoning">辽宁</option><option value="shandong">山东</option><option value="zhejiang">浙江</option></select></li><li class="usually"><label for="introduce">自我介绍:</label><textarea name="introduce" id="introduce" cols="30" rows="10"></textarea></li><li><input type="submit" name="submit" id="submit" value="立即注册"></li></ul></form></div>
</body></html>

注册界面的样式文件register.css

 

.contact_form {width: 50%;margin: 0 auto;
}.contact_form ul {width: 750px;list-style: none;margin: 0px;padding: 0px;
}.contact_form li {padding: 12px;border-bottom: 2px solid #eee;
}.contact_form li:first-child,
.contact_form li:last-child {border-bottom: 2px solid #777;
}.contact_form .usually label {width: 150px;display: inline-block;
}.contact_form .userselect label {width: 150px;display: inline-block;
}.contact_form .usually input {height: 20px;width: 220px;/* 上下5px 左右8px */padding: 5px 8px;
}*:focus {outline: none;
}.usually input,
.usually textarea {background: url(../images/bg.jpeg) no-repeat 98% center;box-shadow: 0 10px 15px #eee inset;border-radius: 2px;
}.contact_form textarea {padding: 8px;width: 300px;
}/* 获得焦点的时候背景色设置为白色  */
.usually input:focus,
.usually textarea:focus {background: #fff;
}input[type=submit] {margin-left: 156px;background-color: #68b12f;border: 1px solid #509111;border-radius: 3px;color: white;padding: 6px 10px;text-align: center;}input[type=submit]:hover {opacity: .85;cursor: pointer;
}.usually input:focus:invalid,
.usually textarea:focus:invalid {background-color: #d45252;box-shadow: 0 0 5px #d45252;
}.usually input:focus:valid,
.usually textarea:focus:valid {background-color: #5cd053;box-shadow: 0 0 5px #5cd053;
}

 总结

总体来说还是很简单的,有很多有趣的小样式。

 

相关文章:

登录注册静态网页实现(HTML,CSS)

实现效果图 实现效果 使用HTML编写页面结构&#xff0c;CSS美化界面&#xff0c;点击注册&#xff0c;跳转到注册界面&#xff0c;均为静态网页&#xff0c;是课上的一个小作业~ 使用正则表达式对输入进行验证&#xff0c;包括邮箱格式验证&#xff0c;用户名格式验证。 正则…...

基于FPGA的以太网设计(二)

一.以太网硬件架构概述 前文讲述了以太网的一些相关知识&#xff0c;本文将详细讲解以太网的硬件架构 以太网的电路架构一般由MAC、PHY、变压器、RJ45和传输介质组成&#xff0c;示意图如下所示&#xff1a; PHY&#xff1a;Physical Layer&#xff0c;即物理层。物理层定义了…...

OJ在线评测系统 后端微服务架构 注册中心 Nacos入门到启动

注册中心 服务架构中的注册中心是一个关键组件&#xff0c;用于管理和协助微服务之间的通信。注册中心的主要职责是服务的注册和发现&#xff0c;确保各个微服务能够相互找到并进行调用。 主要功能&#xff1a; 服务注册&#xff1a;微服务在启动时&#xff0c;将自身信息&am…...

升级到Ubuntu 24.04遇到的问题

升级过程中被别人关机重启到windows了&#xff0c;再启动到linux接着升级&#xff0c;还好能运行。但出现了些问题。 1.网络无法访问&#xff0c;发现是dns问题。最后在/etc/systemd/resov.conf文件中添加nameserver sudo nano /etc/systemd/resolv.conf cd /etc sudo ln -s …...

提示词格式化

利用jinja2&#xff0c;对提示词进行格式输出。以下是qwen2中tokenizer_config.json文件中的chat_template模块定义的提示词转换方式。 &#xff08;1&#xff09;查看qwen2的chat_template {"add_prefix_space": false,"added_tokens_decoder": {"…...

JAVA八股文1

1.Java 基础 1.1 语法基础 封装 利用抽象数据类型将数据和基于数据的操作封装在一起&#xff0c;使其构成一个不可分割的独立实体。数据被保护在抽象数据类型的内部&#xff0c;尽可能地隐藏内部的细节&#xff0c;只保留一些对外接口使之与外部发生联系。用户无需知道对象内…...

yum仓库安装rabbitmq

yum仓库安装rabbitmq 1、配置yum仓库 vim /etc/yum.repos.d/rabbitmq.repo # In /etc/yum.repos.d/rabbitmq.repo## ## Zero dependency Erlang ##[rabbitmq_erlang] namerabbitmq_erlang baseurlhttps://packagecloud.io/rabbitmq/erlang/el/7/$basearch repo_gpgcheck1 gpg…...

go语言中的函数详解

1. 引言 函数是编程中不可或缺的组成部分&#xff0c;无论是在Go语言还是其他编程语言中&#xff0c;函数都扮演着重要的角色。函数能够将一系列的操作封装在一起&#xff0c;使得代码更加模块化、可重用和易于维护。 在本文中&#xff0c;我们将详细介绍Go语言中函数的概念和…...

ubuntu18.04运行OpenPCDet出现的问题

一、概述 在编译成功OpenPCDet的源代码之后&#xff0c;发现在运行demo时候&#xff0c;依旧出现了很多问题&#xff0c;在此对出现的问题进行总结记录。 二、问题分析 &#xff08;一&#xff09;ModuleNotFoundError:No module named av2 如图所示 这个问题比较简单&#x…...

【C++】——继承(下)

【C】——继承&#xff08;下&#xff09; 5 继承与友元6 继承与静态成员7 多继承7.1 继承模型7.2 菱形继承的问题7.3 虚继承7.4 多继承中的指针偏移问题 8 组合与继承 5 继承与友元 友元关系不能被继承。即一个函数是父类的友元函数&#xff0c;但不是子类的友元函数。也就是说…...

Pandas处理时间序列之光谱分析与聚类

import matplotlib.pylab as plt %matplotlib inline import numpy as np from numpy import fft import pandas as pd 一、光谱分析 • 将时间序列分解为许多正弦或余弦函数的总和 • 这些函数的系数应该具有不相关的值 • 对正弦函数进行回归 光谱分析应用场景 基于光谱的…...

【WebGIS】Cesium:GeoJSON加载

GeoJSON 是一种常用的地理空间数据格式&#xff0c;它用于表示简单的地理要素及其属性&#xff0c;并且被广泛应用于 Web 地图和 GIS 系统中。在 Cesium 中&#xff0c;GeoJSON 文件可以很方便地加载到三维场景中展示&#xff0c;并且可以添加样式和事件处理。本文将为你提供详…...

PageHelper实现分页查询

前端发送的请求参数 后端返回的对象类型 Controller类实现 /*** 员工分页查询* param employeePageQueryDTO* return*/GetMapping("/page")ApiOperation("员工分页查询")public Result<PageResult> page(EmployeePageQueryDTO employeePageQueryDTO)…...

边缘检测评估方法:FOM、RMSE、PSNR和SSIM对比实验和理论研究

图像分割与边缘检测是密切相关的计算机视觉任务。以下图1展示了一个海岸线分割模型的输出示例: 图1: 分割掩码到边缘图的转换过程(数据集:LICS) 模型将每个像素分类为陆地或海洋(分割掩码)。随后,海岸线被定义为分类发生变化的像素位置(边缘图)。边缘检测可以通过提取图像分割…...

MySql 多表查询

多表查询&#xff1a;指从多张表中查询数据。 笛卡儿积&#xff1a;笛卡儿积是指在数学中&#xff0c;两个集合&#xff08;A集合 和 B集合&#xff09;的所有组合情况。 连接查询 内连接&#xff1a;相当于查询A、B交集部分数据外连接 左外连接&#xff1a;查询左表所有数据…...

数学建模算法与应用 第11章 偏最小二乘回归及其方法

目录 11.1 偏最小二乘回归概述 11.2 Matlab 偏最小二乘回归命令 Matlab代码示例&#xff1a;偏最小二乘回归 11.3 案例分析&#xff1a;化学反应中的偏最小二乘回归 Matlab代码示例&#xff1a;光谱数据的PLS回归 习题 11 总结 偏最小二乘回归&#xff08;Partial Least …...

【MATLAB代码】TDOA定位,4个基站、3个时间差、三维定位(可直接复制粘贴到MATLAB上运行)

文章目录 程序结构源代码运行结果代码结构输入输出解析该MATLAB代码实现了基于时间差定位(TDOA, Time Difference of Arrival)的方法,使用最小二乘法在三维空间中估计一个未知点的位置。该算法利用一个主锚点和三个副锚点的已知位置,通过计算信号传播时间差来推算出目标位置…...

uniapp引入ThorUI的方法

1、下载文件 2、复制相应的文件除了pages 3、往项目中复制即可 4、引入即可实现 5、添加easycome自动引入...

面试官:手写一个New

在JavaScript中&#xff0c;new操作符主要用于创建一个对象示例。通过new操作符&#xff0c;可以创建一个新的对象&#xff0c;并将这个对象的原型链只想一个构造函数的原型对象&#xff0c;然后执行构造函数中的代码初始化这个新对象。 常见的new的使用为 new Array() new Set…...

merlion的dashboard打开方法

安装好merlion包后&#xff0c;在anaconda prompt中进行如下图操作&#xff1a; 先进入创建好的虚拟环境&#xff1a;conda activate merlion再执行命令&#xff1a;python -m merlion.dashboard在浏览器中手动打开图中的地址&#xff1a; http://127.0.0.1:8050 打开后的界面…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

Python 包管理器 uv 介绍

Python 包管理器 uv 全面介绍 uv 是由 Astral&#xff08;热门工具 Ruff 的开发者&#xff09;推出的下一代高性能 Python 包管理器和构建工具&#xff0c;用 Rust 编写。它旨在解决传统工具&#xff08;如 pip、virtualenv、pip-tools&#xff09;的性能瓶颈&#xff0c;同时…...

关于uniapp展示PDF的解决方案

在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项&#xff1a; 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库&#xff1a; npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...

Linux系统部署KES

1、安装准备 1.版本说明V008R006C009B0014 V008&#xff1a;是version产品的大版本。 R006&#xff1a;是release产品特性版本。 C009&#xff1a;是通用版 B0014&#xff1a;是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存&#xff1a;1GB 以上 硬盘&#xf…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...