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 相关文章推荐
Windows Live的@live.com域名注册漏洞 利用代码
Dec 27 Javascript
JQUERY 对象与DOM对象之两者相互间的转换
Apr 27 Javascript
Web跨浏览器进程通信(Web跨域)
Apr 17 Javascript
javascript禁止超链接跳转的方法
Feb 02 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
jquery animate动画持续运动的实例
Nov 29 jQuery
vue 列表页跳转详情页获取id以及详情页通过id获取数据
Mar 27 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
Vue的双向数据绑定实现原理解析
Feb 17 Javascript
JavaScript实现图片伪异步上传过程解析
Apr 10 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 中执行排序与 MySQL 中排序
2009/04/21 PHP
php入门学习知识点八 PHP中for循环基本应用之九九乘法口绝表
2011/07/14 PHP
php fsockopen解决办法 php实现多线程
2014/01/20 PHP
ThinkPHP打开验证码页面显示乱码的解决方法
2014/12/18 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
js变量作用域及可访问性的探讨
2006/11/23 Javascript
JavaScript中链式调用之研习
2011/04/07 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
struts2+jquery组合验证注册用户是否存在
2014/04/30 Javascript
JavaScript函数获取事件源的小例子
2014/05/14 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
JavaScript转换二进制编码为ASCII码的方法
2015/04/16 Javascript
JavaScript中var关键字的使用详解
2015/08/14 Javascript
jQuery实现自动输入email、时间和域名的方法
2016/08/24 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
vue.js中引入vuex储存接口数据及调用的详细流程
2017/12/14 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
手把手教你使用TypeScript开发Node.js应用
2019/05/06 Javascript
ES6 Proxy实现Vue的变化检测问题
2019/06/11 Javascript
利用JS响应式修改vue实现页面的input值
2019/09/02 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
如何配置vue.config.js 处理static文件夹下的静态文件
2020/06/19 Javascript
跟老齐学Python之编写类之一创建实例
2014/10/11 Python
Python装饰器decorator用法实例
2014/11/10 Python
python数据结构之链表详解
2017/09/12 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
Python模拟FTP文件服务器的操作方法
2020/02/18 Python
pycharm新建Vue项目的方法步骤(图文)
2020/03/04 Python
pycharm专业版远程登录服务器的详细教程
2020/09/15 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
python 6种方法实现单例模式
2020/12/15 Python
html5使用canvas压缩图片的示例代码
2018/09/11 HTML / CSS
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
安全员岗位职责范本
2015/04/11 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python
在 Python 中利用 Pool 进行多线程
2022/04/24 Python