HTML、JavaScript和CSS实现注册页面设计

目录

一、实现要求

二、实现页面图

1、注册页面

2.用户ID、用户名、口令验证成功后显示页面

三、用户ID、用户名、口令、确定口令验证逻辑js代码

1、验证用户ID

2、验证用户名

3、验证口令密码

四、总结

五、代码仓库


一、实现要求

综合使用HTML、JavaScript和CSS进行注册页面设计,实现以下若干功能:

1.注意整个页面的色调和美观

2.使用Frameset+Table布局(div也可)

3.对用户ID和用户名、口令不符合条件及时判断

4.对口令不一致进行 及时判断(34的及时判断,要求提示信息必须显示在同一个页面,也就是说显示在当前的行的后面或者上面或者下面)

5.判断Email地址是否合法

6.在"提交"后能在新页面显示所有的输入信息

二、实现页面图

1、注册页面

2.用户ID、用户名、口令验证成功后显示页面

三、用户ID、用户名、口令、确定口令验证逻辑js代码

1、验证用户ID

用户ID使用正则表达式

var reg_userid = /^\w{6,8}$/; // 正则表达式匹配6到8位的字母数字字符或下划线

javascript 复制代码
  function checkUserID() {
            var userID = document.getElementById("userid").value;
            var reg_userid = /^\w{6,8}$/; // 正则表达式匹配6到8位的字母数字字符或下划线
            var flag = reg_userid.test(userID);
            console.log(flag);
            var s_userid = document.getElementById("s_userid");

            if (flag) {
                s_userid.innerHTML = "<img width='35' height='25' src='./gou.png'/>";
                s_userid.className = 'valid'; // 可选:改变类名以更改样式
            } else {
                s_userid.innerHTML = "用户ID格式有误";
                s_userid.className = 'error'; // 可选:保持错误提示的样式类名
            }

            return flag;
        }

2、验证用户名

用户名对应正则表达式

var reg_username = /^\w{6,12}$/; // 正则表达式匹配6到12位的字母数字字符或下划线

javascript 复制代码
    function checkUsername() {
            var username = document.getElementById("username").value;
            var reg_username = /^\w{6,12}$/;
            var flag = reg_username.test(username);
            var s_username = document.getElementById("s_username");
            if (flag) {
                s_username.innerHTML = "<img width='35' height='25' src='./gou.png'/>";
            }
            else {
                s_username.innerHTML = "用户名格式有误";
            } return flag;
        }

3、验证口令密码

在验证口令密码区域,将确认口令进行验证,当password和repassword内容不一致时,则进行错误提示。校验通过时,则显示校验成功的图片。

javascript 复制代码
  // 验证口令密码
        function checkPassword() {
            var password = document.getElementById("password").value;
            var repassword = document.getElementById("repassword").value;
            var userid = document.getElementById("userid").value;
            var reg_password = /^\S{6,8}$/; // 正则表达式匹配6到8位的非空白字符
            var flag = reg_password.test(password);
            var s_password = document.getElementById("s_password");
            var s_repassword = document.getElementById("s_repassword");

            // 清除之前的错误信息
            s_password.innerHTML = '';
            s_repassword.innerHTML = '';

            if (!flag) {
                s_password.innerHTML = "口令格式有误(6-8位,不能包含空格)";
                return false;
            } else if (password !== repassword) {
                s_repassword.innerHTML = "两次输入的口令不一致";
                return false;
            } else if (password === userid) {
                s_password.innerHTML = "口令不能与用户ID相同";
                return false;
            }

            // 如果没有错误,则显示正确提示
            s_password.innerHTML = "<img width='35' height='25' src='./gou.png'/>";
            s_repassword.innerHTML = "<img width='35' height='25' src='./gou.png'/>";
            return true;
        }

4、window.onload 页面加载完成之后执行

三个对应的校验内容在window.onload 页面加载完成之后执行。

javascript 复制代码
    window.onload = function () {
            // window.onload 页面加载完成之后执行   
            document.getElementById("form").onsubmit = function () {
                return checkUsername() && checkPassword();
            };
            // 对用户ID和用户名、口令不符合条件及时判断
            document.getElementById("userid").onblur = checkUserID;
            document.getElementById("username").onblur = checkUsername;
            // 在输入框失去焦点时触发验证
            document.getElementById("password").onblur = checkPassword;
            document.getElementById("repassword").onblur = checkPassword;
        };

四、总结

javaScript、css、Html是前端的基础以及重要的前置知识,需要融汇贯通的熟练掌握,一些平常的小页面,有助于更好的学习以及掌握底层前端逻辑知识,我是谈谈叭~,一个正在学习前端的大学畜,希望大家指正!一起交流学习~

五、代码仓库

registerPage: 使用HTML、JavaScript和CSS进行注册页面设计

相关推荐
Moment3 分钟前
富文本编辑器技术选型,到底是 Prosemirror 还是 Tiptap 好 ❓❓❓
前端·javascript·面试
xkxnq7 分钟前
第二阶段:Vue 组件化开发(第 18天)
前端·javascript·vue.js
晓得迷路了9 分钟前
栗子前端技术周刊第 112 期 - Rspack 1.7、2025 JS 新星榜单、HTML 状态调查...
前端·javascript·html
怕浪猫12 分钟前
React从入门到出门 第五章 React Router 配置与原理初探
前端·javascript·react.js
jinmo_C++12 分钟前
从零开始学前端 · HTML 基础篇(一):认识 HTML 与页面结构
前端·html·状态模式
鹏多多18 分钟前
前端2025年终总结:借着AI做大做强再创辉煌
前端·javascript
哈__21 分钟前
React Native 鸿蒙跨平台开发:Vibration 实现鸿蒙端设备的震动反馈
javascript·react native·react.js
WebGISer_白茶乌龙桃24 分钟前
Cesium实现“悬浮岛”式,三维立体的行政区划
javascript·vue.js·3d·web3·html5·webgl
小Tomkk26 分钟前
⭐️ StarRocks Web 使用介绍与实战指南
前端·ffmpeg
不一样的少年_30 分钟前
产品催: 1 天优化 Vue 官网 SEO?我用这个插件半天搞定(不重构 Nuxt)
前端·javascript·vue.js