JS实现登陆验证的主要代码及思路
window.onload = function(){
// 获取input标签
	var alInput = document.getElementsByTagName("input");
	var oName = alInput[0];
	var pwd = alInput[1];
	var pwd2 = alInput[2];
// 获取p标签
	var alMeg = document.getElementsByTagName("p");
	var oName_alMeg = alMeg[0];
	var pwd_alMeg = alMeg[1];
	var pwd2_alMeg = alMeg[2];
// 获取ul, li标签
	var alul = document.getElementById("ul");
	var alLi = document.getElementsByTagName("li");
	var li1 = alLi[0];
	var li2 = alLi[1];
	var li3 = alLi[2];
var re = /[^\w\u4e00-\u9fa5]/g;//用户名允许出现W(字母、数字、下划线)和汉字
	var re_n = /[^\d]/g;//不是数字
	var re_a = /[^a-zA-Z]/g;//不是字母
	var count = document.getElementById("iCount");
	var nameLength = 0;
	var temp = 0;
	var num = 0;
// 统计输入字符数,\x00-xff的意思为单字节,统计不是单字节,并转化为双字节
	function getLength(str){
		return str.replace(/[^\x00-xff]/g,"xx").length;
	}
	// 字符比对方法,用于后续程序判断是否输入相同字符
	function strCompare(str,n){
		for (var i = 0; i < str.length; i++) {
			if (str.charAt(i) == n) {
				temp++;
			}
		}
		return temp;
	}
// 鼠标聚焦
	oName.onfocus = function(){
		oName_alMeg.style.visibility = "visible";
	}
// 抬起键盘,也就是输入了一个字
	oName.onkeyup = function(){
		count.style.visibility = "visible";
		nameLength = getLength(this.value);
	    count.innerHTML = nameLength+"个字符";
	    if (nameLength == 0) {
	        count.style.visibility = "hidden";
	    }
	}
//当失去焦点
	oName.onblur = function(){
		count.style.visibility = "hidden";
		// 含有非法字符
		var re = /[^\w\u4e00-\u9fa5]/g;	//正则表达式,判断是否含有非法字符
		if (re.test(this.value)) {
		    oName_alMeg.innerHTML = "错误,含有非法字符";
		} 
		// 不能为空
		else if (nameLength == 0) {
		    oName_alMeg.innerHTML = "错误,用户名不能为空";
		} 
		// 长度超过25个字符
		else if (nameLength > 25) {
		    oName_alMeg.innerHTML = "错误,用户名不能超过25个字符";
		} 
		// 长度少于6个字符
		else if (nameLength < 6) {
		    oName_alMeg.innerHTML = "错误,用户名不能低于6个字符";
		} 
		else{
			oName_alMeg.innerHTML = "正确,用户名输入成功";
		}
	}
//密码框验证
	pwd.onfocus = function(){
		pwd_alMeg.style.visibility = "visible";
		alul.style.visibility = "visible";
		li1.style.background = 'red';
	}
	pwd.onkeyup = function(){
		if (this.value.length > 0) {
		    pwd2.removeAttribute('disabled');//设置确认密码框能输入
		    pwd2_alMeg.style.visibility = "visible";
		} else {
		    pwd2.setAttribute("disabled","disabled");//设置确认密码框不能输入
		}
		// 大于5个字符
		if (this.value.length > 5) {
		    li2.style.background = 'red';
		} else{
		    li2.style.background = 'orange';
		};
// 大于10个字符
		if (this.value.length > 10) {
		    li3.style.background = 'red';
		} else{
		    li3.style.background = 'orange';
		};
}
	pwd.onblur = function(){
		var j = strCompare(this.value,this.value[0]);
		// 不能为空
		if (this.value.length == 0) {
		    pwd_alMeg.innerHTML = "密码不能为空";
		}
// 不能用相同字符
		else if(j == this.value.length) {
		    pwd_alMeg.innerHTML = "错误,不能用相同字符";
		}
// 长度应为6-16个字符
		else if(this.value.length < 6 || this.value.length > 16) {
		    pwd_alMeg.innerHTML = "错误,密码长度应为6-16个字符";
		}
// 不能全为数字 var re_n = /[^\d]/g;没有数字,非一下就是全为数字
		else if (!re_n.test(this.value)) { 
			pwd_alMeg.innerHTML = "错误,密码不能全为数字";
		}
// 不能全为字母
		else if (!re_a.test(this.value)) {
			pwd_alMeg.innerHTML = "错误,密码不能全为字母";
		}
		// OK
		else{
			pwd_alMeg.innerHTML = "OK";
		}
}
// 确认密码框
	pwd2.onblur = function(){
		if (this.value != pwd.value) {
			pwd2_alMeg.innerHTML = "两次输入密码不一致";
		}else{
			pwd2_alMeg.innerHTML = "成功";
		}
}
}
JS实现登陆验证的主要代码及思路的更多相关文章
- JS表单验证类HTML代码实例
		以前用的比较多的一个JS表单验证类,对于个人来说已经够用了,有兴趣的可以在此基础上扩展成ajax版本.本表单验证类囊括了密码验证.英文4~10个 字符验证. 中文非空验证.大于10小于100的数字.浮 ... 
- 2017.11.9 如何利用JS做登陆验证界面
		()案例----JavaScript实现输入验证 需要验证的表单输入域和要求 用户名不能为空,是否符合规定的格式 密码长度是否超过6,两次密码输入一致 邮箱地址:邮箱地址必须符合邮箱形式 ~~~注意提 ... 
- springaop实现登陆验证
		1.首先配置好springmvc和springaop 2.先写好登陆方法,通过注解写代理方法 通过代理获得登陆方法的参数方法名,然后再aop代理方法内进行登陆验证 贴出代码 package com.h ... 
- java登陆验证码与JS无刷新验证
		最近公司的项目的登陆模块由我负责,所以就做了个登陆小功能进行练手,其包括了用jQuery对用户名和密码进行不为null验证,和出于安全性考虑加了一个验证码的校验 别的不说先上代码 controller ... 
- js 表单验证控制代码大全
		js表单验证控制代码大全 关键字:js验证表单大全,用JS控制表单提交 ,javascript提交表单:目录:1:js 字符串长度限制.判断字符长度 .js限制输入.限制不能输入.textarea 长 ... 
- angularjs中$http、$location、$watch及双向数据绑定学习实现简单登陆验证
		使用$http.$location.$watch及双向数据绑定等实现简单的用户登陆验证,记录备忘: 1.$http模拟从后台获取json格式的数据: 2.$watch实时监控数据变化: 3.$loca ... 
- js判断登陆用户名及密码是否为空的简单实例
		js判断登陆用户名及密码是否为空的简单实例 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 <script type="text/javascript ... 
- 【Java EE 学习 70 上】【数据采集系统第二天】【数据加密处理】【登陆验证】【登陆拦截器】【新建调查】【查询调查】
		一.数据加密处理 这里使用MD5加密处理,使用java中自带加密工具类MessageDigest. 该类有一个方法digest,该方法输入参数是一个字符串返回值是一个长度为16的字节数组.最关键的是需 ... 
- jquery.validate.js表单验证
		一.用前必备官方网站:http://bassistance.de/jquery-plugins/jquery-plugin-validation/ API: http://jquery.bassist ... 
随机推荐
- shell中$0,$?,$!等变量意义
			变量说明: $$ #Shell本身的PID(ProcessID) $! #Shell最后运行的后台Process的PID $? #最后运行的命令的结束代码(返回值) $- ... 
- Hadoop 集群搭建
			Hadoop 集群搭建 2016-09-24 杜亦舒 目标 在3台服务器上搭建 Hadoop2.7.3 集群,然后测试验证,要能够向 HDFS 上传文件,并成功运行 mapreduce 示例程序 搭建 ... 
- 转!java基础笔记
			原博文地址:http://blog.csdn.net/u012152619/article/details/48024345 Java标识符 Java所有的组成部分都需要名字.类名.变量名以及方法名都 ... 
- OpenCV学习笔记(一)——OpenCV安装
			1.无脑安装以下安装文件 cn_visual_studio_2010_ultimate_x86_dvd_532347.iso 2.测试Hello OpenCV 文件→新建→项目 win32应用程序→下 ... 
- win7 winsxs精简 cmd 脚本之 再次 改进版
			dos时代菜鸟发表于 2012-7-24 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=255200&highlight=win7 ... 
- Hadoop中wordcount程序
			一.测试过程中 输入命令: 首先需要在hadoop集群中添加文件 可以首先进行查看hadoop集群中文件目录 hadoop fs -ls / hadoop fs -ls -R / hadoop fs ... 
- 【WebGoat习题解析】AJAX Security->Insecure Client Storage
			绕过前端验证可以通过两种办法:一是利用开发者工具进行debug:二是利用burpsuite直接抓取.本题解决思路如下: STAGE 1: For this exercise, your mission ... 
- 一个靠谱的国外maven镜像地址
			<mirror> <id>ui</id> <mirrorOf>central</mirrorOf> <name>Human Re ... 
- uva 10271 (dp)
			题意:有n个数据,给定k,要从中选出k+8个三元组(x,y,z,其中x<=y<=z),每选一次的代价为(x-y)^2,求最小代价和. [解题方法] 将筷子按长度从大到小排序 排序原因: 由 ... 
- MySQL 5.6查询优化器新特性的“BUG” eq_range_index_dive_limit
			本文转自 http://www.imysql.cn 最近碰到一个慢SQL问题,解决过程有点小曲折,和大家分享下. SQL本身不复杂,表结构.索引也比较简单,不过个别字段存在于多个索引中. CREATE ... 
