位置: IT常识 - 正文

HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)(htmlcssjavascript网页制作)

发布时间:2024-01-12
HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)

推荐整理分享HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)(htmlcssjavascript网页制作),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:htmlcssjavascript教程,htmlcssjavascript之间的关系与作用,htmlcssjavascript用什么软件,htmlcssjavascript之间的关系与作用,htmlcssjavascript之间的关系与作用,htmlcssjavascript标准教程第五版,htmlcssjavascript网页制作,htmlcssjavascript标准教程第五版,内容如对您有帮助,希望把文章链接给更多的朋友!

>>> 本文介绍使用HTML + CSS + JavaScript 实现注册页面信息验证的详细方法。完整代码见文章末尾。

要求

创建一个注册页面,如下图。

然后再对注册信息进行判断,判断其是否符合要求。(如:密码6-12位字符,不能有空格等)

图片素材如下:

注册页面的整个框架注册页面框架分析

页面内容主要分为三个部分:

我们可以使用三个块标签,可以将这三个部分分别放到每个块标签中。

注册页面框架的实现

第一部分:两个段落文本

<!-- 左边部分 --><div class="rg_left"> <p>新用户注册</p> <p>USER REGISTER</p></div>HTML + CSS + JavaScript 实现注册页面信息验证 详细教程(表单验证)(htmlcssjavascript网页制作)

第二部分:一个表单

<!-- 中间部分 --><div class="rg_center"> <!-- 定义表单 form --> <form action="#" method="post"> <!-- 定义一个表格 --> <table> <!-- 表格第一行有两个单元格:用户名 + 输入用户名信息区域 --> <tr> <!-- 定义一个标签:用户名 --> <td class="td_left"><label for="username">用户名</label></td> <!-- 定义输入用户名信息的框框 --> <td class="td_right"><input type="text" name="username" id="username" placeholder="请输入用户名"></td> </tr> <!-- 表格第二行有两个单元格:密码 + 输入密码区域 --> <tr> <!-- 定义一个标签:密码 --> <td class="td_left"><label for="password">密码</label></td> <!-- 定义输入密码的框框 --> <td class="td_right"><input type="password" name="password" id="password" placeholder="请输入密码"></td> </tr> <!-- 表格第三行有两个单元格:邮箱 + 输入邮箱区域 --> <tr> <!-- 定义一个标签:邮箱 --> <td class="td_left"><label for="email">Email</label></td> <!-- 定义输入邮箱的框框 --> <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td> </tr> <!-- 表格第四行有两个单元格:姓名 + 输入姓名区域 --> <tr> <!-- 定义一个标签:姓名 --> <td class="td_left"><label for="name">姓名</label></td> <!-- 定义输入姓名的框框 --> <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td> </tr> <!-- 表格第五行有两个单元格:手机号 + 输入手机号码区域 --> <tr> <!-- 定义一个标签:手机号 --> <td class="td_left"><label for="tel">手机号</label></td> <!-- 定义输入手机号码的框框 --> <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td> </tr> <!-- 表格第六行有两个单元格:性别 + 选择性别的按钮 --> <tr> <!-- 定义一个标签:性别 --> <td class="td_left"><label>性别</label></td> <!-- 定义两个选择按钮:一个按钮"男",一个按钮"女" --> <td class="td_right"> <input type="radio" name="gender" value="male"> 男 <input type="radio" name="gender" value="female"> 女 </td> </tr> <!-- 表格第七行有两个单元格:出生日期 + 选择出生日期控件 --> <tr> <!-- 定义一个标签:出生日期 --> <td class="td_left"><label for="birthday">出生日期</label></td> <!-- 定义选择出生日期控件 --> <td class="td_right"><input type="date" name="birthday" id="birthday"></td> </tr> <!-- 表格第八行有两个单元格:验证码 + (输入验证码区域 + 验证码图片) --> <tr> <!-- 定义一个标签:验证码 --> <td class="td_left"><label for="checkcode" >验证码</label></td> <!-- 定义输入验证码的框框 --> <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码"> <!-- 验证码图片 --> <img id="img_check" src="img/verify_code.jpg"> </td> </tr> <!-- 表格第八行有一个单元格:注册按钮 --> <tr> <!-- 定义一个提交按钮 --> <td colspan="2" align="center"><input type="submit" id="btn_sub" value="注册"></td> </tr> </table> </form></div>

第三部分:登录/有账号

<!-- 右边部分 --><div class="rg_right "> <p>已有账号?<a href="#">立即登录</a></p></div>

三个部分效果如下:

对这三个部分和页面背景,用CSS样式进行修饰:

/* 选择body标签,设置背景 */body { background: url("./img/register_bg.png");}/* 为内容部分添加一个方框 */.rg_layout { width: 900px; height: 500px; border: 8px solid #EEEEEE; background-color: white; /*让div水平居中*/ margin: auto;}/* 将内容分为三个部分:左、中、右 */.rg_left { float: left; margin: 15px;}.rg_center { float: left;}.rg_right { float: right; margin: 15px;}/* 对左边部分进行描述:字体大小,字体颜色 */.rg_left > p:first-child { color:#FFD026; font-size: 20px;}.rg_left > p:last-child { color:#A6A6A6; font-size: 20px;}/* 对右边部分进行描述:字体大小,字体颜色 */.rg_right > p:first-child { font-size: 15px;}.rg_right p a { color:pink;}/* 对中间部分进行描述*/.td_left { width: 100px; /* 每行的高度为45个像素点 */ height: 45px; /* 字体向右对齐 */ text-align: right;}.td_right { /* 左边字体部分与右边内容部分之间,填充(隔开)50个像素点的位置 */ padding-left: 50px ;}/* 对信息输入区域的边框进行描述 */#username, #password, #email, #name, #tel, #birthday, #checkcode { width: 251px; height: 32px; border: 1px solid #A6A6A6; /* 设置边框圆角 */ border-radius: 5px; padding-left: 10px;}/* 对验证码边框再次进行描述:减小边框的长度*/#checkcode { width: 110px;}/* 对验证码图片进行描述 */#img_check{ height: 32px; /* 垂直方向对齐 */ vertical-align: middle;}/* 对注册按钮进行描述 */#btn_sub{ width: 150px; height: 40px; background-color: #FFD026; border: 1px solid #FFD026 ;}描述之后,效果如下:

不过这个时候还没有验证功能,下面将实现这一功能。

表单验证功能的实现

这里拿用户名和密码进行验证:用户名和密码都是6-12位字符,不能有空格。

首先,先向表格中的用户名和密码区,插入块标签,用来显示判断的结果(用户名/密码格式是否正确)

<!-- 表格第一行有两个单元格:用户名 + 输入用户名信息区域 + 用户名是否符合 --><tr> <!-- 定义一个标签:用户名 --> <td class="td_left"><label for="username">用户名</label></td> <!-- 定义输入用户名信息的框框、用户名是否符合 --> <td class="td_right"> <input type="text" name="username" id="username" placeholder="请输入用户名"> <span id="s_username" class="error"></span> </td></tr><!-- 表格第二行有两个单元格:密码 + 输入密码区域 + 密码是否符合 --><tr> <!-- 定义一个标签:密码 --> <td class="td_left"><label for="password">密码</label></td> <!-- 定义输入密码的框框、密码是否符合 --> <td class="td_right"> <input type="password" name="password" id="password" placeholder="请输入密码"> <span id="s_password" class="error"></span> </td></tr>

如上,在table中添加的内容是:

<span id="s_username" class="error"></span>和<span id="s_password" class="error"></span>具体功能的实现

校验用户名

// 校验用户名function checkUsername(){ // 1.获取用户名的值 var username = document.getElementById("username").value; // 2.定义正则表达式 var reg_username = /^\w{6,12}$/; // 3.判断值是否符合正则的规则 var flag = reg_username.test(username); // 4.提示信息 var s_username = document.getElementById("s_username"); if(flag){ // 提示绿色对勾 s_username.innerHTML = "<img width='35' height='25' src='img/gou.png'/>"; }else{ // 提示红色用户名有误 s_username.innerHTML = "用户名格式有误"; } return flag;}

校验密码

// 校验密码function checkPassword(){ // 1.获取用户名的值 var password = document.getElementById("password").value; // 2.定义正则表达式 var reg_password = /^\w{6,12}$/; // 3.判断值是否符合正则的规则 var flag = reg_password.test(password); // 4.提示信息 var s_password = document.getElementById("s_password"); if(flag){ // 提示绿色对勾 s_password.innerHTML = "<img width='35' height='25' src='img/gou.png'/>"; }else{ // 提示红色用户名有误 s_password.innerHTML = "密码格式有误"; } return flag;}所有的实现代码如下<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>注册页面</title> <style> body { background: url("./img/register_bg.png"); } .rg_layout { width: 900px; height: 500px; border: 8px solid #EEEEEE; background-color: white; margin: auto; } .rg_left { float: left; margin: 15px; } .rg_center { float: left; } .rg_right { float: right; margin: 15px; } .rg_left > p:first-child { color:#FFD026; font-size: 20px; } .rg_left > p:last-child { color:#A6A6A6; font-size: 20px; } .rg_right > p:first-child { font-size: 15px; } .rg_right p a { color:pink; } .td_left { width: 100px; height: 45px; text-align: right; } .td_right { padding-left: 50px ; } #username, #password, #email, #name, #tel, #birthday, #checkcode { width: 251px; height: 32px; border: 1px solid #A6A6A6; border-radius: 5px; padding-left: 10px; } #checkcode { width: 110px; } #img_check { height: 32px; vertical-align: middle; } #btn_sub { width: 150px; height: 40px; background-color: #FFD026; border: 1px solid #FFD026 ; } .error { color:red; } #td_sub { padding-left: 150px; } </style> <script> window.onload = function(){ document.getElementById("form").onsubmit = function(){ return checkUsername() && checkPassword(); }; document.getElementById("username").onblur = checkUsername; document.getElementById("password").onblur = checkPassword; }; 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='img/gou.png'/>"; }else{ s_username.innerHTML = "用户名格式有误"; } return flag; } function checkPassword(){ var password = document.getElementById("password").value; var reg_password = /^\w{6,12}$/; var flag = reg_password.test(password); var s_password = document.getElementById("s_password"); if(flag){ s_password.innerHTML = "<img width='35' height='25' src='img/gou.png'/>"; }else{ s_password.innerHTML = "密码格式有误"; } return flag; } </script></head><body><div class="rg_layout"> <div class="rg_left"> <p>新用户注册</p> <p>USER REGISTER</p> </div> <div class="rg_center"> <div class="rg_form"> <form action="#" id="form" method="get"> <table> <tr> <td class="td_left"><label for="username">用户名</label></td> <td class="td_right"> <input type="text" name="username" id="username" placeholder="请输入用户名"> <span id="s_username" class="error"></span> </td> </tr> <tr> <td class="td_left"><label for="password">密码</label></td> <td class="td_right"> <input type="password" name="password" id="password" placeholder="请输入密码"> <span id="s_password" class="error"></span> </td> </tr> <tr> <td class="td_left"><label for="email">Email</label></td> <td class="td_right"><input type="email" name="email" id="email" placeholder="请输入邮箱"></td> </tr> <tr> <td class="td_left"><label for="name">姓名</label></td> <td class="td_right"><input type="text" name="name" id="name" placeholder="请输入姓名"></td> </tr> <tr> <td class="td_left"><label for="tel">手机号</label></td> <td class="td_right"><input type="text" name="tel" id="tel" placeholder="请输入手机号"></td> </tr> <tr> <td class="td_left"><label>性别</label></td> <td class="td_right"> <input type="radio" name="gender" value="male" checked> 男 <input type="radio" name="gender" value="female"> 女 </td> </tr> <tr> <td class="td_left"><label for="birthday">出生日期</label></td> <td class="td_right"><input type="date" name="birthday" id="birthday" placeholder="请输入出生日期"></td> </tr> <tr> <td class="td_left"><label for="checkcode" >验证码</label></td> <td class="td_right"><input type="text" name="checkcode" id="checkcode" placeholder="请输入验证码"> <img id="img_check" src="img/verify_code.jpg"> </td> </tr> <tr> <td colspan="2" id="td_sub"><input type="submit" id="btn_sub" value="注册"></td> </tr> </table> </form> </div> </div> <div class="rg_right"> <p>已有账号?<a href="#">立即登录</a></p> </div></div></body></html>

本文链接地址:https://www.jiuchutong.com/zhishi/293078.html 转载请保留说明!

上一篇:Pinia(二)了解和使用Store

下一篇:Vue - 图片浏览组件v-viewer(vue查看图片组件)

  • 季报利润表本月金额和本年累计金额
  • 企业所得税季度预缴可以弥补以前年度亏损吗
  • 简易计税的增值税要计提附加税吗
  • 哪些津贴不扣税
  • 出口的港杂费包括哪些
  • 年底没计提年终奖,下一年发放要怎么做
  • 建筑业预缴税款都要填哪些表
  • 自己开发自己施工的建筑单位怎么样
  • 去年成立的公司今年需要年检吗
  • 小规模公司没有进项票 开票需要交什么税
  • 股权转让分期收款怎么企业所得税
  • 耕地占用税和土地使用税的区别
  • 未办理房屋预售许可证怎么处理
  • 计入成本的有哪些科目
  • 企业转租房屋如何开票
  • 供应商的账怎么记
  • 买卖房子归谁管
  • 购买不需安装的生产设备会计分录
  • 收到房租发票可以抵扣吗
  • 清产核资的步骤
  • windows 发布时间
  • harmonyos2.0缺点
  • 如何解决蓝屏错误代码0x000007B问题
  • 坏账准备如何做账
  • 怎么进入bios设置界面设置内存
  • bios设置内存频率后黑屏
  • 商业一般纳税人辅导期截止时间
  • vue前端代码实例
  • 账簿启用及交接表样图
  • 借条丢了怎么办打电话给家长
  • 固定资产清理的借贷方向表示什么
  • 交印花税的口诀
  • 为公司垫付费用多久报销
  • 银行汇票用什么会计分录
  • 小微企业所得税税率
  • 劳务费发票可以抵扣吗?
  • 小规模纳税人增值税专用发票税率
  • 年应税销售额是指纳税人在连续不超过12个月或四个季度
  • 实收资本没有实缴,财务报表里面怎么写
  • 销售退货会计分录
  • 建筑安装行业都需要什么资格证书
  • 贷款损失准备核销
  • 资产评估增值的调整方法
  • 香港发票在内地认可吗
  • 实名汽车票抵扣
  • 退货会计如何处理
  • 怎样填制记账凭证表
  • sql server 2005如何使用
  • 出现错误,请联系客服
  • XP系统升级WIN7系统
  • windowsxp搜索不到文件
  • win7如何设置共享
  • WinXP系统建立VPN连接虚拟专用网络连接的途径
  • ubuntu搭建go环境
  • created directory cfg怎么办
  • win7卸载软件时显示program
  • win8.1介绍
  • win10系统中哪些软件可以删除
  • win10系统安装搜狗输入法很慢
  • win8系统蓝屏后无法修复
  • linux Intel 845集成显示驱动下载
  • win8打不开咋办
  • 深入解析windows
  • lua教程书籍
  • javascriptcall和apply
  • 导入extjs、jquery 文件时$使用冲突问题解决方法
  • 新浪微博随时随地
  • wmic命令详解
  • jquery移动节点的方法
  • node.js连接mysql的数据怎么可视化
  • unity3d all compiler errors
  • jquery mouse
  • jquery的点击事件怎么写
  • javascript面向对象精要
  • 劳动监察执法机构是什么
  • 云南省国家税务局
  • 长沙房产税如何征收
  • 运输服务费税率9%还是6%
  • 重庆市低保查询电话
  • 广东税务查询系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号