HTML页面登录时的JS验证方法


Posted in Javascript onMay 28, 2014

开发一个注册的HTML页面, 用于搜集用户的注册信息。包括: 姓名(不能为空), 年龄(必须超过17岁), 体重(30-150kg), 班级(下拉列表),登陆密码(至少8位长)、确认密码(和登录密码一致),Email(不能为空) , 电话,QQ, 个人简历等信息。 并针对这些表的元素来创建相应的验证,如果检测到错误, 在输入框后面用红色的字显示错误。要用到前面几节学习过的单行文本输入框text、下拉列表框select、密码输入框password、多行文本输入框textarea。这是一个较实用的用户注册表单.。

register.html:

<!doctype html> 
<html> 
<head> 
<meta charset="utf-8"> 
<title>实验2</title> 
<link href="check.css" rel="stylesheet" type="text/css"> 
<script type="text/javascript" src="load.js"> 
</script> 
</head> 
<!--return validate()和validate()在于是否清空表单--> 
<body onload="load_greeting()"> 
<form id="test" align="left" onSubmit="return validate()"> 
<table> 
<tr> 
<td>Name*:</td> 
<td><input type="text" name="Name" id="name" size="20" onChange='check("name")'></td> 
<td id="nameCheck" class="check" hidden="true">*姓名不能为空</td> 
</tr> 
<tr> 
<td>Age:</td> 
<td><input type="text" name="Age" id="age" size="20" onChange='check("age")'></td> 
<td id="ageCheck" class="check" hidden="true">*年龄不能小于17岁</td> 
</tr> 
<tr > 
<td>weight:</td> 
<td><input type="text" name="weight" id="weight" size="20" onChange='check("weight")'></td> 
<td id="weightCheck" class="check" hidden="true">*体重范围为30~150KG</td> 
</tr> 
<tr> 
<td>Class:</td> 
<td><select id="class" name="class"> 
<option>class0</option> 
<option>class1</option> 
<option>class2</option> 
<option>class3</option> 
</select> 
</td> 
</tr> 
<tr> 
<td>Password*:</td> 
<td><input type="password" name="Password" id="password" size="20" onChange='check("password")'></td> 
<td id="passwordCheck" class="check" hidden="true">*password length less than 8</td> 
</tr> 
<tr> 
<td>Confirm Password*:</td> 
<td><input type="password" name="cpassword" id="cpassword" size="20" onChange='check("cpassword")'></td> 
<td id="cpasswordCheck" class="check" hidden="true">*Two passwd is not same</td> 
</tr> 
<tr > 
<td>Email*:</td> 
<td><input type="email" name="email" id="email" size="20" onChange='check(this.id)'></td> 
<td id="emailCheck" class="check" hidden="true">*电子邮件名非法!</td> 
</tr> 
<tr> 
<td>TEL:</td> 
<td><input type="text" name="TEL" id="TEL" size="20"></td> 
</tr> 
<tr> 
<td>QQ:</td> 
<td><input type="text" name="QQ" id="QQ" size="20"></td> 
</tr> 
<tr> 
<td>Personal Information:</td> 
<td><textarea rows="10" cols="19"></textarea></td> 
</tr> 
<tr> 
<td colspan="3"> 
<input type="submit" name="submit"> 
<input type="reset" name="reset"> 
</td> 
</tr> 
</table> 
</form> 
</body> 
</html>

check.css:
td.check{ 
color:#C00; 
font-weight:bold; 
}

load.js:
function check(str) 
{ 
var x = document.getElementById(str); 
var y = document.getElementById(str+"Check"); 
//alert("check!"); 
if(str=="name") 
{ 
if(x.value=="") 
y.hidden = false; 
else 
y.hidden = true; 
} 
else if(str=="age") 
{ 
if(isNaN(x.value) || x.value < 17) 
y.hidden = false; 
else 
y.hidden = true; 
} 
else if(str=="weight") 
{ 
x = x.value; 
if(isNaN(x) || x < 30 || x > 150) 
y.hidden = false; 
else 
y.hidden = true; 
} 
else if(str=="password") 
{ 
x = x.value.length; 
if(x < 8) 
{ 
y.hidden = false; 
//alert("check!"); 
} 
else 
y.hidden = true; 
} 
else if(str=="cpassword") 
{ 
var z = document.getElementById("password").value; 
x = x.value; 
if(x != z) 
y.hidden = false; 
else 
y.hidden = true; 
} 
else if(str=="email") 
{ 
x = x.value.indexOf("@") 
if(x == -1) 
y.hidden = false; 
else 
y.hidden = true; 
} 
return y.hidden; 
} function validate() 
{ 
var arr=["name", "age", "weight", "password", "cpassword", "email"]; 
var i = 0; 
submitOK = true; 
while(i <= 5) 
{ 
if(!check(arr[i])) 
{ 
alert(arr[i]+" wrong!"); 
submitOK = false; 
break; 
} 
i++; 
} 
if(submitOK) 
{ 
alert("提交成功!"); 
return true; 
} 
else 
{ 
alert("提交失败"); 
return false; 
} 
} 
function load_greeting() 
{ 
//alert("visit \n"); 
}
Javascript 相关文章推荐
批量实现面向对象的实例代码
Jul 01 Javascript
模拟一个类似百度google的模糊搜索下拉列表
Apr 15 Javascript
js实现横向伸展开的二级导航菜单代码
Aug 28 Javascript
jQuery实现仿美橙互联两级导航菜单效果完整实例
Sep 17 Javascript
Jquery attr()方法 属性赋值和属性获取详解
Apr 15 Javascript
AngularJS中$http服务常用的应用及参数
Aug 22 Javascript
node.js实现登录注册页面
Apr 08 Javascript
vue实现tab切换外加样式切换方法
Mar 16 Javascript
如何通过setTimeout理解JS运行机制详解
Mar 23 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
Sep 03 Javascript
写给新手同学的vuex快速上手指北小结
Apr 14 Javascript
vue 中的动态传参和query传参操作
Nov 09 Javascript
22点关于jquery性能优化的建议
May 28 #Javascript
一个奇葩的最短的 IE 版本判断JS脚本
May 28 #Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
May 28 #Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
May 28 #Javascript
node.js Web应用框架Express入门指南
May 28 #Javascript
用html5 js实现点击一个按钮达到浏览器全屏效果
May 28 #Javascript
浅析JavaScript基本类型与引用类型
May 28 #Javascript
You might like
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
jQuery创建自己的插件(自定义插件)的方法
2010/06/10 Javascript
方便实用的jQuery checkbox复选框全选功能简单实例
2013/10/09 Javascript
JS模拟Dialog弹出浮动框效果代码
2015/10/16 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
jQuery实现的简单百分比进度条效果示例
2016/08/01 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
jQuery实现元素的插入
2017/02/27 Javascript
Node.js中 __dirname 的使用介绍
2017/06/19 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
如何以Angular的姿势打开Font-Awesome详解
2018/04/22 Javascript
JavaScript中创建原子的方法总结
2018/08/26 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
使用Python设计一个代码统计工具
2018/04/04 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
python3安装speech语音模块的方法
2018/12/24 Python
使用python-opencv读取视频,计算视频总帧数及FPS的实现
2019/12/10 Python
python 回溯法模板详解
2020/02/26 Python
Pytorch环境搭建与基本语法
2020/06/03 Python
Python带参数的装饰器运行原理解析
2020/06/09 Python
10分钟入门CSS3 Animation
2018/12/25 HTML / CSS
爱尔兰领先的在线体育用品零售商:theGAAstore
2018/04/16 全球购物
质检的岗位职责
2013/11/17 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
四查四看自我剖析材料
2014/09/19 职场文书
电子商务实训报告总结
2014/11/05 职场文书
2015年财务部工作总结
2015/04/10 职场文书
公司更名通知函
2015/04/24 职场文书
单位更名证明
2015/06/18 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
react中props 的使用及进行限制的方法
2021/04/28 Javascript
redis 限制内存使用大小的实现
2021/05/08 Redis
浅谈Java实现分布式事务的三种方案
2021/06/11 Java/Android