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 ...
随机推荐
- spring 配置 redis
1.maven相关pom.xml <dependencies> <!--spring redis--> <dependency> <groupId>or ...
- sublime text2 换主题
网上看到一款喜欢的主题,换掉初始的主题,感觉颜色浅一点会比较好看,看中了下面这款. 后来看到有在 github 上的人做的 ,这是地址 ,上面也有详细的如何更改的步骤,下面是我自己这里做个备份. 1. ...
- html5拖拽总结
拖拽(Drag 和 drop)是 HTML5 标准的组成部分.拖拽是一种常见的特性,即抓取对象以后拖到另一个位置. Internet Explorer 9.Firefox.Opera 12.Chrom ...
- input type="number"
情景: 移动端 input控件,调数字键盘,在输入小数点时光标会自动跳到小数点前面.安卓6.0.1的版本会这样. question: 1.调原生数字键盘的方法,必须用 type="numbe ...
- H5手机端关注的问题
手机端页面写css时应该注意的问题: 设备的屏幕尺寸 设备的分辨率 用户的操作习惯以及点击区域的大小 移动端浏览器的特性 鉴于分辨率等情况而引出的图片尺寸.布局方式等诸多细节问题 ...
- Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
http://www.idouba.net/spring-cloud-source-eureka-client-api/?utm_source=tuicool&utm_medium=refer ...
- try-catch
try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }catch(异常类型2 异常的变量名2){ // ...
- 当执行太多不受信任的代码时,除去令人讨厌的大量 trycatch 的办法
如果方法 Condition 返回 true,则执行 IfTrue,否则执行 IfFalse,发生异常则执行 IfError. 通常是这样: try { if (Condition()) { try ...
- 使用 Box2D 做一个 JansenWalker 机器人
在 Box2DFlash 的官网的首页有一个小 Demo,这个 Demo 中有11个例子,可以通过左右方向键查看不同的例子,里面的每个例子都非常有趣,但最让我感兴趣的,是其中一个叫 JansenWal ...
- 简单谈一谈JavaScript中的变量提升的问题
1,随笔由来 第一天开通博客,用于监督自己学习以及分享一点点浅见,不出意外的话,应该是一周一更或者一周两更. 此博客所写内容主要为前端工作中遇上的一些问题以及常见问题,在此基础上略微发表自己的一点浅 ...