javascripit实现密码强度检测代码分享


Posted in Javascript onDecember 12, 2013
<!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="text/html; charset=gb2312" />
    <title>
        密码强度检测
    </title>
    <style type="text/css">
        body{font:12px/1.5 Arial;} input{float:left;font-size:12px;width:150px;font-family:arial;border:1px
        solid #ccc;padding:3px;} input.correct{border:1px solid green;} input.error{border:1px
        solid red;} #tips{float:left;margin:2px 0 0 20px;} #tips span{float:left;width:50px;height:20px;color:#fff;overflow:hidden;background:#ccc;margin-right:2px;line-height:20px;text-align:center;}
        #tips.s1 .active{background:#f30;} #tips.s2 .active{background:#fc0;} #tips.s3
        .active{background:#cc0;} #tips.s4 .active{background:#090;}
    </style>
    <script type="text/javascript">
        window.onload = function() {
            var oTips = document.getElementById("tips");
            var oInput = document.getElementsByTagName("input")[0];
            var aSpan = oTips.getElementsByTagName("span");
            var aStr = ["弱", "中", "强", "非常好"];
            var i = 0;
            oInput.onkeyup = oInput.onfocus = oInput.onblur = function() {
                var index = checkStrong(this.value);
                this.className = index ? "correct": "error";
                oTips.className = "s" + index;
                for (i = 0; i < aSpan.length; i++) aSpan[i].className = aSpan[i].innerHTML = "";
                index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1])
            }
        };
        /** 强度规则
            + ------------------------------------------------------- +
            1) 任何少于6个字符的组合,弱;任何字符数的同类字符组合,弱;
            2) 任何字符数的两类字符组合,中;
            3) 12位字符数以下的三类或四类字符组合,强;
            4) 12位字符数以上的三类或四类字符组合,非常好。
            + ------------------------------------------------------- +
            **/
        //检测密码强度
        function checkStrong(sValue) {
            var modes = 0;
            if (sValue.length < 6) return modes;
            if (/\d/.test(sValue)) modes++; //数字
            if (/[a-z]/.test(sValue)) modes++; //小写
            if (/[A-Z]/.test(sValue)) modes++; //大写  
            if (/\W/.test(sValue)) modes++; //特殊字符
            switch (modes) {
            case 1:
                return 1;
                break;
            case 2:
                return 2;
            case 3:
            case 4:
                return sValue.length < 12 ? 3 : 4
                break;
            }
        }
    </script>
</head>
<body>
    <input type="password" value="" maxlength="16" />
    <div id="tips">
        <span></span>
        <span></span>
        <span></span>
        <span></span>
    </div>
</body>
</html>
Javascript 相关文章推荐
用javascript实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
Js切换功能的简单方法
Nov 23 Javascript
jquery基础教程之deferred对象使用方法
Jan 22 Javascript
Jquery 分页插件之Jquery Pagination
Aug 25 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
jQuery实现图片轮播效果代码
Sep 27 Javascript
用js实现博客打赏功能
Oct 24 Javascript
VUE JS 使用组件实现双向绑定的示例代码
Jan 10 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
vue 获取及修改store.js里的公共变量实例
Nov 06 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
Feb 01 jQuery
jQuery获取Radio,CheckBox选择的Value值(示例代码)
Dec 12 #Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
Dec 12 #Javascript
JavaScript判断访问的来源是手机还是电脑,用的哪种浏览器
Dec 12 #Javascript
js中typeof的用法汇总
Dec 12 #Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
Dec 12 #Javascript
解析页面加载与js函数的执行 onload or ready
Dec 12 #Javascript
js实现弹窗插件功能实例代码分享
Dec 12 #Javascript
You might like
PHP 二维数组根据某个字段排序的具体实现
2014/06/03 PHP
destoon在各个服务器下设置URL Rewrite(伪静态)的方法
2014/06/21 Servers
PHP curl使用实例
2015/07/02 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
PHP获取类私有属性的3种方法
2020/09/10 PHP
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
jquery中get,post和ajax方法的使用小结
2014/02/04 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
node.js中的path.normalize方法使用说明
2014/12/08 Javascript
QQ登录背景闪动效果附效果演示源码下载
2015/09/22 Javascript
基于javascript实现泡泡大冒险网页版小游戏
2016/03/23 Javascript
JavaScript数据类型学习笔记分享
2016/09/01 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
详解Angular2 关于*ngFor 嵌套循环
2017/05/22 Javascript
AngularJS日程表案例详解
2017/08/15 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
2018/07/27 Javascript
详解在vue-test-utils中mock全局对象
2018/11/07 Javascript
深入Node TCP模块的理解
2019/03/13 Javascript
WebSocket的简单介绍及应用
2019/05/23 Javascript
vue弹出框组件封装实例代码
2019/10/31 Javascript
VUE 实现动态给对象增加属性,并触发视图更新操作示例
2019/11/29 Javascript
跟老齐学Python之有容乃大的list(1)
2014/09/14 Python
Windows下python2.7.8安装图文教程
2016/05/26 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
Python实现树莓派摄像头持续录像并传送到主机的步骤
2020/11/30 Python
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
聘任书的写作格式及范文
2014/03/29 职场文书
公证委托书模板
2014/04/03 职场文书
电大毕业生自我鉴定
2014/04/10 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
大学生见习报告总结
2014/11/04 职场文书
爱心捐书倡议书
2015/04/27 职场文书