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进行注册页面设计

相关推荐
长安牧笛3 分钟前
儿童屏幕时间管控学习引导系统,核心功能,绑定设备,设时长与时段,识别娱乐,APP超时锁屏,推荐益智内容,生成使用报告,学习达标解锁娱乐
javascript
老前端的功夫5 分钟前
Vue 3 vs Vue 2 深度解析:从架构革新到开发体验全面升级
前端·vue.js·架构
栀秋66615 分钟前
深入浅出链表操作:从Dummy节点到快慢指针的实战精要
前端·javascript·算法
狗哥哥31 分钟前
Vue 3 动态菜单渲染优化实战:从白屏到“零延迟”体验
前端·vue.js
青青很轻_33 分钟前
Vue自定义拖拽指令架构解析:从零到一实现元素自由拖拽
前端·javascript·vue.js
xhxxx33 分钟前
从被追问到被点赞:我靠“哨兵+快慢指针”展示了面试官真正想看的代码思维
javascript·算法·面试
树下水月40 分钟前
纯HTML 调用摄像头 获取拍照后的图片的base64
前端·javascript·html
蜗牛攻城狮43 分钟前
Vue 中 `scoped` 样式的实现原理详解
前端·javascript·vue.js
豆苗学前端1 小时前
前端工程化终极指南(Webpack + Gulp + Vite + 实战项目)
前端·javascript
比老马还六1 小时前
Bipes项目二次开发/海龟编程(六)
前端·javascript