Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >第178天:表单验证

第178天:表单验证

作者头像
半指温柔乐
发布于 2018-09-11 01:44:18
发布于 2018-09-11 01:44:18
1.3K00
代码可运行
举报
文章被收录于专栏:前端知识分享前端知识分享
运行总次数:0
代码可运行

1、css代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1 CSS代码
  2 
  3 @charset "gb2312";
  4 /* CSS Document */
  5 
  6 body,dl,dt,dd,div,form {padding:0;margin:0;}
  7 
  8 #header,#main{
  9     width:650px;
 10     margin:0 auto;
 11     }
 12 .bg{
 13     background-image:url(../images/register_bg.gif);
 14     background-repeat:no-repeat;
 15     width:6px;
 16     height:6px;
 17     }
 18     .bg_top_left{
 19         background-position:0px 0px;
 20         }
 21     .bg_top_right{
 22         background-position:0px -6px;
 23         }
 24     .bg_end_left{
 25         background-position:0px -12px;
 26         }
 27     .bg_end_right{
 28         background-position:0px -18px;
 29         }
 30     .bg_top{
 31         border-top:solid 1px #666666;
 32         }
 33     .bg_end{
 34         border-bottom:solid 1px #666666;
 35         }
 36     .bg_left{
 37         border-left:solid 1px #666666;
 38         }
 39     .bg_right{
 40         border-right:solid 1px #666666;
 41         }
 42 
 43 
 44 .content{
 45     padding:10px;
 46     }
 47     .inputs{
 48         border:solid 1px #a4c8e0;
 49         width:150px;
 50         height:15px;
 51     }
 52     
 53     .userWidth{
 54         width:110px;
 55         }
 56     .content div{
 57         float:left;
 58         font-size:12px;
 59         color:#000;
 60         }
 61     dl{
 62         clear:both;
 63         }
 64     dt,dd{
 65         float:left;
 66         }
 67     dt{
 68         width:130px;
 69         text-align:right;
 70         font-size:14px;
 71         height:30px;
 72         line-height:25px;
 73         }
 74     dd{
 75         font-size:12px;
 76         color:#666666;
 77         width:180px;
 78         }
 79 /*当鼠标放到文本框时,提示文本的样式*/
 80 .import_prompt{
 81     border:solid 1px #ffcd00;
 82     background-color:#ffffda;
 83     padding-left:5px;
 84     padding-right:5px;
 85     line-height:20px;
 86     }
 87 /*当文本框内容不符合要求时,提示文本的样式*/
 88 .error_prompt{
 89     border:solid 1px #ff3300;
 90     background-color:#fff2e5;
 91     background-image:url(../images/li_err.gif);
 92     background-repeat:no-repeat;
 93     background-position:5px 2px;
 94     padding:2px 5px 0px 25px;
 95     line-height:20px;
 96     }
 97 /*当文本框内容输入正确时,提示文本的样式*/
 98 .ok_prompt{
 99     border:solid 1px #01be00;
100     background-color:#e6fee4;
101     background-image:url(../images/li_ok.gif);
102     background-repeat:no-repeat;
103     background-position:5px 2px;
104     padding:2px 5px 0px 25px;
105     line-height:20px;
106     }

2、javascript

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1 // JavaScript Document
  2 
  3 /*通过ID获取HTML对象的通用方法,使用$代替函数名称*/
  4 function $(elementId){
  5     return document.getElementById(elementId);
  6     }
  7     
  8 /*当鼠标放在通行证用户名文本框时,提示文本及样式*/    
  9 function userNameFocus(){
 10     var userNameId=$("userNameId");
 11     userNameId.className="import_prompt";
 12     userNameId.innerHTML="1、由字母、数字、下划线、点、减号组成<br/>2、只能以数字、字母开头或结尾,且长度为4-18";
 13     }
 14     
 15 /*当鼠标离开通行证用户名文本框时,提示文本及样式*/    
 16 function userNameBlur(){
 17     var userName=$("userName");
 18     var userNameId=$("userNameId");
 19     var reg=/^[0-9a-zA-Z][0-9a-zA-Z_.-]{2,16}[0-9a-zA-Z]$/;
 20     if(userName.value==""){
 21         userNameId.className="error_prompt";
 22         userNameId.innerHTML="通行证用户名不能为空,请输入通行证用户名";
 23         return false;
 24         }
 25     if(reg.test(userName.value)==false){
 26         userNameId.className="error_prompt";
 27         userNameId.innerHTML="1、由字母、数字、下划线、点、减号组成<br/>2、只能以数字、字母开头或结尾,且长度为4-18";
 28         return false;
 29         }
 30         userNameId.className="ok_prompt";
 31         userNameId.innerHTML="通行证用户名输入正确";
 32         return true;
 33     }
 34 
 35 /*当鼠标放在密码文本框时,提示文本及样式*/    
 36 function pwdFocus(){
 37     var pwdId=$("pwdId");
 38     pwdId.className="import_prompt";
 39     pwdId.innerHTML="密码长度为6-16";
 40     }
 41     
 42 /*当鼠标离开密码文本框时,提示文本及样式*/    
 43 function pwdBlur(){
 44     var pwd=$("pwd");
 45     var pwdId=$("pwdId");
 46     if(pwd.value==""){
 47         pwdId.className="error_prompt";
 48         pwdId.innerHTML="密码不能为空,请输入密码";
 49         return false;
 50         }
 51     if(pwd.value.length<6 || pwd.value.length>16){
 52         pwdId.className="error_prompt";
 53         pwdId.innerHTML="密码长度为6-16";
 54         return false;
 55         }
 56         pwdId.className="ok_prompt";
 57         pwdId.innerHTML="密码输入正确";
 58         return true;
 59     }
 60 
 61     
 62 /*当鼠标离开重复密码文本框时,提示文本及样式*/    
 63 function repwdBlur(){
 64     var repwd=$("repwd");
 65     var pwd=$("pwd");
 66     var repwdId=$("repwdId");
 67     if(repwd.value==""){
 68         repwdId.className="error_prompt";
 69         repwdId.innerHTML="重复密码不能为空,请重复输入密码";
 70         return false;
 71         }
 72     if(repwd.value!=pwd.value){
 73         repwdId.className="error_prompt";
 74         repwdId.innerHTML="两次输入的密码不一致,请重新输入";
 75         return false;
 76         }
 77         repwdId.className="ok_prompt";
 78         repwdId.innerHTML="两次密码输入正确";
 79         return true;
 80     }
 81     
 82 /*当鼠标放在昵称文本框时,提示文本及样式*/    
 83 function nickNameFocus(){
 84     var nickNameId=$("nickNameId");
 85     nickNameId.className="import_prompt";
 86     nickNameId.innerHTML="1、包含汉字、字母、数字、下划线以及@!#$%&*特殊字符<br/>2、长度为4-20个字符<br/>3、一个汉字占两个字符";
 87     }
 88     
 89 /*当鼠标离开昵称文本框时,提示文本及样式*/    
 90 function nickNameBlur(){
 91     var nickName=$("nickName");
 92     var nickNameId=$("nickNameId");
 93     var k=0;
 94     var reg=/^([\u4e00-\u9fa5]|\w|[@!#$%&*])+$/;   // 匹配昵称
 95     var chinaReg=/[\u4e00-\u9fa5]/g;   //匹配中文字符
 96     if(nickName.value==""){
 97         nickNameId.className="error_prompt";
 98         nickNameId.innerHTML="昵称不能为空,请输入昵称";
 99         return false;
100         }
101     if(reg.test(nickName.value)==false){
102         nickNameId.className="error_prompt";
103         nickNameId.innerHTML="只能由汉字、字母、数字、下划线以及@!#$%&*特殊字符组成";
104         return false;
105         }
106     
107     var len=nickName.value.replace(chinaReg,"ab").length;  //把中文字符转换为两个字母,以计算字符长度
108     if(len<4||len>20){
109         nickNameId.className="error_prompt";
110         nickNameId.innerHTML="1、长度为4-20个字符<br/>2、一个汉字占两个字符";
111         return false;
112         }
113     
114         nickNameId.className="ok_prompt";
115         nickNameId.innerHTML="昵称输入正确";
116         return true;
117     }    
118 
119 /*当鼠标放在关联手机号文本框时,提示文本及样式*/    
120 function telFocus(){
121     var telId=$("telId");
122     telId.className="import_prompt";
123     telId.innerHTML="1、手机号码以13,15,18开头<br/>2、手机号码由11位数字组成";
124     }
125     
126 /*当鼠标离开关联手机号文本框时,提示文本及样式*/    
127 function telBlur(){
128     var tel=$("tel");
129     var telId=$("telId");
130     var reg=/^(13|15|18)\d{9}$/;
131     if(tel.value==""){
132         telId.className="error_prompt";
133         telId.innerHTML="关联手机号码不能为空,请输入关联手机号码";
134         return false;
135         }
136     if(reg.test(tel.value)==false){
137         telId.className="error_prompt";
138         telId.innerHTML="关联手机号码输入不正确,请重新输入";
139         return false;
140         }
141         telId.className="ok_prompt";
142         telId.innerHTML="关联手机号码输入正确";
143         return true;
144     }    
145 
146 
147 /*当鼠标放在保密邮箱文本框时,提示文本及样式*/    
148 function emailFocus(){
149     var emailId=$("emailId");
150     emailId.className="import_prompt";
151     emailId.innerHTML="请输入您常用的电子邮箱";
152     }
153     
154 /*当鼠标离开保密邮箱文本框时,提示文本及样式*/    
155 function emailBlur(){
156     var email=$("email");
157     var emailId=$("emailId");
158     var reg=/^\w+@\w+(\.[a-zA-Z]{2,3}){1,2}$/;
159     if(email.value==""){
160         emailId.className="error_prompt";
161         emailId.innerHTML="保密邮箱不能为空,请输入保密邮箱";
162         return false;
163         }
164     if(reg.test(email.value)==false){
165         emailId.className="error_prompt";
166         emailId.innerHTML="保密邮箱格式不正确,请重新输入";
167         return false;
168         }
169         emailId.className="ok_prompt";
170         emailId.innerHTML="保密邮箱输入正确";
171         return true;
172     }    
173 
174 /*表单提交时验证表单内容输入的有效性*/
175 function checkForm(){
176       var flagUserName=userNameBlur();
177       var flagPwd=pwdBlur();
178       var flagRepwd=repwdBlur();
179       var flagNickName=nickNameBlur();
180       var flagTel=telBlur();
181       var flagEmail=emailBlur();
182       
183       userNameBlur();
184       pwdBlur();
185       repwdBlur();
186       nickNameBlur();
187       telBlur();
188       emailBlur();
189       
190       if(flagUserName==true &&flagPwd==true &&flagRepwd==true &&flagNickName==true&&flagTel==true&flagEmail==true){
191           return true;
192           }
193         else{
194             return false;
195             }
196     
197     }

3、html

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 1 !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 2 <html xmlns="http://www.w3.org/1999/xhtml">
 3 <head>
 4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
 5 <title>新用户注册页面</title>
 6 <link type="text/css" rel="stylesheet" href="css/register.css" />
 7 <script type="text/javascript" src="js/register.js"></script>
 8 </head>
 9 
10 <body>
11 <div id="header"><img src="images/register_logo.gif" alt="logo"/></div>
12 <div id="main">
13  <table width="100%" border="0" cellspacing="0" cellpadding="0">
14   <tr>
15     <td class="bg bg_top_left"></td>
16     <td class="bg_top"></td>
17     <td class="bg bg_top_right"></td>
18   </tr>
19   <tr>
20     <td class="bg_left"></td>
21     <td class="content">
22       <form action="" method="post" name="myform" onsubmit="return checkForm()">
23         <dl>
24           <dt>通行证用户名:</dt>
25           <dd><input type="text" id="userName" class="inputs userWidth" onfocus="userNameFocus()" onblur="userNameBlur()" /> @163.com</dd>
26           <div id="userNameId"></div>
27         </dl>
28          <dl>
29           <dt>登录密码:</dt>
30           <dd><input type="password" id="pwd" class="inputs"  onfocus="pwdFocus()" onblur="pwdBlur()"/></dd>
31           <div id="pwdId"></div>
32         </dl>
33          <dl>
34           <dt>重复登录密码:</dt>
35           <dd><input type="password" id="repwd" class="inputs"  onblur="repwdBlur()"/></dd>
36           <div id="repwdId"></div>
37         </dl>
38         <dl>
39           <dt>性别:</dt>
40           <dd><input name="sex" type="radio" value="" checked="checked"/><input name="sex" type="radio" value="" /></dd>
41         </dl>
42         <dl>
43           <dt>真实姓名:</dt>
44           <dd><input type="text" id="realName" class="inputs" onblur="aa()" /></dd>
45         </dl>
46         <dl>
47           <dt>昵称:</dt>
48           <dd><input type="text" id="nickName" class="inputs"  onfocus="nickNameFocus()" onblur="nickNameBlur()"/></dd>
49           <div id="nickNameId"></div>
50         </dl>
51         <dl>
52           <dt>关联手机号:</dt>
53           <dd><input type="text" id="tel" class="inputs"  onfocus="telFocus()" onblur="telBlur()" /></dd>
54           <div id="telId"></div>
55         </dl>
56         <dl>
57           <dt>保密邮箱:</dt>
58           <dd><input type="text" id="email" class="inputs" onfocus="emailFocus()" onblur="emailBlur()" /></dd>
59           <div id="emailId"></div>
60         </dl>
61         <dl>
62           <dt></dt>
63           <dd><input name=" " type="image" src="images/button.gif"/></dd>
64         </dl>
65       </form>
66     </td>
67     <td class="bg_right"></td>
68   </tr>
69   <tr>
70      <td class="bg bg_end_left"></td>
71     <td class="bg_end"></td>
72     <td class="bg bg_end_right"></td>
73   </tr>
74 </table>
75 
76 </div>
77 </body>
78 <script type="text/javascript">
79     function aa(){
80         
81         var reg = /^[\u4e00-\u9fa5]$/;
82         var name = document.getElementById("realName").value;
83         
84         if(reg.test(name)==false){
85             alert("只能为汉字");
86         }else{
87             alert("正确");    
88         }
89             
90     }
91 </script>
92 
93 </html>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-02-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
安全服务之安全基线及加固(二)Linux篇
安全服务工程师大家应该都知道,对于他的岗位职责你可能会说不就是渗透测试啊、应急响应嘛.....实际上正式一点的企业对于安服的要求是包括了漏洞扫描、安全基线检查、渗透测试、安全加固、日志分析、恶意代码检查、应急响应、安全加固等差不多十个方面的内容的。内容多吗?我也觉得多!
Power7089
2020/07/27
11.4K0
安全服务之安全基线及加固(二)Linux篇
等保评测整改措施教程
1、编辑配置文件/etc/pam.d/system-auth,在文件中找到开头为如下字样的内容:
六月河
2023/06/26
1.1K0
等保评测整改措施教程
Windows系统安全|Windows Server系统加固
开始-->管理工具-->计算机管理-->本地用户和组-->用户,然后要操作哪个用户就右击,然后属性
谢公子
2022/01/19
2.4K0
Windows系统安全|Windows Server系统加固
Windows服务器安全加固10条建议
上节我们介绍了“Linux安全加固10条建议”本节我们继续看Windows服务器安全加过10条建议。
研究僧
2020/05/02
15K4
Windows操作系统基线核查
针对本地登录,使用Win+R组合键打开运行框,在里面内输入netplwiz,则会出现用户账户页面,如下所示:
FB客服
2020/09/27
3.3K0
Windows操作系统基线核查
Windows 操作系统安全配置实践(安全基线)
描述: 由于最近工作和学习的需要就将针对于Windows系统的一些安全配置做了如下记录,便于后期的知识结构化,并在后续的工作继续进行添加安全加固的一些技巧,同时希望广大的大佬也能多多扩充安全加固配置项,可以通过邮箱、博客、以及公众号联系我。
全栈工程师修炼指南
2022/09/28
5.2K0
Windows 操作系统安全配置实践(安全基线)
Windows服务器主机加固分享
Guest账户为黑客入侵打开了方便之门,黑客使用Guest账户可以进行提权。禁用Guest账户是最好的选择。操作流程:进入“控制面板->管理工具->计算机管理->本地用户和组->用户->Guest”“账户已禁用”打勾启用加固后:
FB客服
2019/10/15
5.3K0
Windows服务器主机加固分享
【安全基线】Windows终端合规安全设置
2. 在“用户账户”中:选择自动登录的账户,点击“要使用本计算机,用户必须输入用户名和密码”,并重新设置新密码。
释然IT杂谈
2022/10/27
4.2K0
【安全基线】Windows终端合规安全设置
windows用户和组
用户账号的认证 用户账号是对计算机用户身份标识,。每个使用计算机的人,必须凭借他的用户账号密码才能够进入计算机,进而访问计算机里面的资源。在计算机中存有一个叫SAM的数据库,当用户输入账号密码之后会与SAM数据中的密码进行验证,SAM路径为:
黑白天安全
2020/04/14
3K0
windows用户和组
Windows 2016 服务器安全配置和加固「建议收藏」
更换Windows更新服务器 如果你觉得默认的Windows更新服务器比较慢,或者如果选择了阿里云或腾讯云服务器的话,可以更换Windows服务器。
全栈程序员站长
2022/06/27
5K0
Windows 2016 服务器安全配置和加固「建议收藏」
Windows 系统安全
目前,Windows 系统已经占据了绝大部分的桌面市场,同时在服务器市场也占有较大比重。长期以来,由于病毒攻击、黑客入侵等原因,给人们留下了易受攻击的不好印象。本文将以 Windows 系统安全方面展开分享一些 Windows 系统安全防护措施。
LuckySec
2022/11/02
2.7K0
Windows 系统安全
001.AD域控简介及使用
域(Domain)是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系。
木二
2021/11/15
5K0
001.AD域控简介及使用
Windows系统安全|Windows本地安全策略
安全策略是影响计算机安全性的安全设置的组合。可以利用本地安全策略来编辑本地计算机上的帐户
谢公子
2022/01/19
1.9K0
Windows系统安全|Windows本地安全策略
Linux和Windows系统常用加固项
上面只是限制了用户从tty登录,而没有限制远程登录,修改sshd文件将实现对远程登陆的限制
没有故事的陈师傅
2020/05/07
3.5K0
401错误的解决方法_网络连接错误401
在配置IIS的时候,如果安全稍微做的好一些。就会出现各式各样的问题。比如,常见的访问网页会弹出用户名密码的登陆界面,或者是访问某种页面比如 html,asp没事情,但是访问jsp或者php就有问题,显示401.3 ACL 禁止访问资源等  通常的解决办法是。          
全栈程序员站长
2022/11/16
4.6K0
BugKu PAR Windows Server安全配置
AI摘要:文章介绍了BugKu PAR Windows Server的安全配置,包括密码安全、密码使用期限、登录安全、禁用来宾用户、账户控制、权限控制、远程桌面设置、IIS日志和ftp安全等方面。具体操作包括设置密码最小长度和最长使用期限,限制登录失败尝试次数,禁用来宾用户,开启账户控制,限制关闭操作系统的权限,设置远程桌面用户空闲会话自动断开连接,开启IIS的日志审计记录,关闭ftp匿名用户等。
曈曈too
2024/03/05
3610
Win2003灵活实现多Web站点的设置方法
  1>两个网站使用不同的IP地址。这样用户在访问第一个网站需在浏览器中输入http://192.168.100.1.访问第二个网站需在浏览器中输入http://192.168.200.1.(假设的)
会长君
2023/04/26
1K0
006.SQLServer AlwaysOn可用性组高可用部署
有关对 SQL Server 2012 中的数据库镜像的支持的信息,请参考:https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2012/cc645993%28v%3dsql.110%29
木二
2019/07/19
3K0
如何解决IIS中网站匿名访问权限的问题
 我碰到的一些小故障,新上的服务器开站点全部有问题,都出现401错误,这个错误出现次数太多了,解决很多次了,不外乎就是权限设置,帐户密码同步,目录保护等方面的错误,但是全部检查完之后还是未能解决,也没有分析是否是COM+组件的问题,删除IIS,重新安装,也无解,后来无意在安全策略里发现,从网络访问此计算机的用户都变为???号了,你有没有这些问题,进来看看吧。
习惯说一说
2019/08/09
5.2K0
win2003服务器安全设置教程
发表评论 1,421 views A+ 所属分类:电脑 1、系统盘和站1、系统盘和站点放置盘必须设置为NTFS格式,方便设置权限。 2、系统盘和站点放置盘除administrators 和
用户1127987
2018/06/05
3.4K0
相关推荐
安全服务之安全基线及加固(二)Linux篇
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验