Loading [MathJax]/jax/input/TeX/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 删除。

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery基础
使用jQuery快速高效制作网页交互特效 第一章-JavaScript基础 上机练习1 练习——统计包含“a”或“A”的字符串的个数 需求说明:使用数组存储一组字符串,并统计包含“a”或“A”的字符串的个数 关键代码: <script type="text/javascript"> var a = ["America","Greece","Britain","Canada","China","Egypt"]; var count = 0; for(var i in a) {
星辰xc
2022/04/09
7.7K0
jQuery基础
省市二级联动
就不多说,直接上效果图和代码,该网页所需要的图片放下面了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="
天蝎座的程序媛
2022/11/18
2.3K0
省市二级联动
手把手教你使用JavaScript实现表单验证
在Web项目开发中,经常会看到表单验证的功能。例如,用户注册、用户登录等,需要对用户填写的内容进行验证。接下来,小编带着大家一起来实现表单验证的用户名、密码、性别、手机号码、邮箱验证的功能。
前端进阶者
2021/03/19
3.1K0
手把手教你使用JavaScript实现表单验证
HTML简单注册界面——含表单验证
最近学习HTML表单,感慨万千。虽然看起来好像不难学,但要是真自己实践起来问题却多多。这里是我写的一个简单的注册页面,只有“注册账号、密码、重输密码”三个文本框,还包含了原生JavaScript验证。(记一下,也希望能给有需要的人一点帮助。)
全栈程序员站长
2022/11/17
5.7K0
HTML简单注册界面——含表单验证
提交表单与验证表单案例
有如下注册页面,对表单进行校验,如果输入的用户名、密码、手机号符合规则,则允许提交;如果不符合规则,则不允许提交。
GeekLiHua
2025/01/21
5290
提交表单与验证表单案例
JavaWeb——JavaScript精讲之事件监听机制与表单校验案例实战
1、事件监听机制概述 事件监听机制,指的是某些组件被执行了某种操作后,触发某些代码的执行。 事件:某些操作,如:单击、双击操作,键盘按下了,鼠标移动了。 事件源:组件,如按钮、文本输入框; 监听器:代码。 注册监听:将事件、事件源、监听器结合在一起,当事件源上发生了某个事件,则触发执行某个监听代码。 常见的事件: 1)点击事件:1、onclick:单击事件                       2、ondbclick:双击事件 2)焦点事件:1、obblur:失去焦点,一般用于表单校验        
Winter_world
2020/09/25
9100
JavaWeb——JavaScript精讲之事件监听机制与表单校验案例实战
Web-第三天 JavaScript学习【悟空教程】
用户在提交表单时,需要对用户的填写的数据进行校验。本案例只对用户名、密码、确认密码和邮箱进行校验。
Java帮帮
2018/07/27
3.6K0
Web-第三天 JavaScript学习【悟空教程】
Web前端三剑客学习笔记
一直没有系统的学习HTML,CSS,JS都是东学一点,西学一点,想着暑假得空,便系统的学习下吧,故于此记录之。
小简
2022/12/29
2.4K0
Web前端三剑客学习笔记
前端基础-节点操作
document.createElement() 用来生成网页元素节点,参数为元素的标签名;
cwl_java
2020/03/26
4.4K0
Jquery入门基础教程免费版
目前jQuery有三个大版本。 1.X:兼容IE678,使用最为广泛,官网只做BUG维护,功能不再新增。因此一般项目来说,使用1.X版本就可以了,最终版本:1.12.4 (2016年5月20日)
张哥编程
2024/12/13
6550
Jquery入门基础教程免费版
简单的注册模块表单验证处理
表单具有 onsubmit = "return check()"行为,处理验证情况
书童小二
2018/09/03
3.4K0
简单的注册模块表单验证处理
JavaScript学习笔记(二)
JavaScript的事件机制:事件是JavaScript和DOM交互的桥梁,常见的click,load,mouseover都是事件的名字,事件发生时调用它的处理函数执行相应的JavaScript代码并给出响应。
wsuo
2020/07/31
9970
java从入门到精通二十二(web服务器tomcat)
直接去官网下载即可,下载安装的话没啥好说的。我们需要知道的就是它是Apache一个开源免费的web服务器。而且比较轻量。
兰舟千帆
2022/07/16
5440
java从入门到精通二十二(web服务器tomcat)
基本正则表达式的运用【前端】
关于正则表达式一直都是个让很多程序员都觉得很郁闷的一个东西,我觉得创造正则表达式的那个家伙简直就是个奇葩,要不就是外星人。就那么一个字符规则校验就足以使那么多程序员为之抓狂,你可以想象这个东西该有多变态。由于本人水平有限,不可能写的那么全面,只是把比较实用的东西给写下来,还有对一些常用的正则表达式进行收集整理,如果有写的不对的地方,还希望各路大牛多多指教!代码真的很详细,句句有解释 正则表达式简介: 正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。在表单验证、Url映射
天蝎座的程序媛
2022/11/18
5570
基本正则表达式的运用【前端】
JAVA保姆式上手教程之免费JAVA 案例day02-js高级
bom: browser object model 浏览器对象模型 js希望和浏览器有一定的交互能力
张哥编程
2024/12/13
1230
22.jQuery(实例)
1.开关灯效果 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .hide{ display: none; } </style> </head> <body> <input id="i1" type="button" value="开关" /> <div class="c
zhang_derek
2018/04/11
1.7K0
JavaWeb day3 JavsScript 入门
==JavaScript 是一门跨平台、面向对象的脚本语言==,而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的;JavaScript是脚本语言,不需要编译,由浏览器直接解析并执行。
小小程序员
2023/02/15
7.7K1
事件基础及操作元素
JavaScript 使我们有能力创建动态页面,而事件是可以被 JavaScript 侦测到的行为。
星辰_大海
2020/09/30
1.5K0
JS总结
1.JavaScript的基本语法 1-1:为什么要学习JavaScript 例如:a.表单验证 b.页面动态效果等等 1-2:什么是JavaScript a.脚本的基本结构 语法: <script language="JavaScript"> <script language="JavaScript"> <!- <!- JavaScript 语句; JavaScript 语句; --!> --!> </script> </script
用户1112962
2018/07/04
1.5K0
HTML4+CSS2基础考试-易错点总结
HTML4+CSS2基础考试 选择题 body 标签的默认 margin 是多少像素 8px; 我需要一个 div 高度为 30 px, div 里有一行字垂直居中, 字的大小为 14 px, 应该怎
星辉
2019/01/15
6390
相关推荐
jQuery基础
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验