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修改表格背景色实例代码分享
Dec 10 Javascript
javascript 对象数组根据对象object key的值排序
Mar 09 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
May 12 Javascript
JS实现的Select三级下拉菜单代码
Aug 20 Javascript
基于jquery实现左右按钮点击的图片切换效果
Jan 27 Javascript
第三篇Bootstrap网格基础
Jun 21 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
jquery对象与DOM对象转化
Feb 08 Javascript
bootstrap table操作技巧分享
Feb 15 Javascript
Javascript实现一个简单的输入关键字添加标签效果实例
Jun 01 Javascript
带你了解session和cookie作用原理区别和用法
Aug 14 Javascript
vue动态设置img的src路径实例
Sep 18 Javascript
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与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php的一个简单加密解密代码
2014/01/14 PHP
浅谈php自定义错误日志
2015/02/13 PHP
PHP的几个常用加密函数
2016/02/03 PHP
PHP getallheaders无法获取自定义头(headers)的问题
2016/03/23 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
向fckeditor编辑器插入指定代码的方法
2007/05/25 Javascript
通用javascript脚本函数库 方便开发
2009/10/13 Javascript
javascript new后的constructor属性
2010/08/05 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
JQuery动画和停止动画实例代码
2013/03/01 Javascript
jquery禁用右键示例
2014/04/28 Javascript
jQuery实现转动随机数抽奖效果的方法
2015/05/21 Javascript
轻松实现jquery选项卡切换效果
2016/10/10 Javascript
用nodejs搭建websocket服务器
2017/01/23 NodeJs
Mongoose实现虚拟字段查询的方法详解
2017/08/15 Javascript
Angular中使用MathJax遇到的一些问题
2017/12/15 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
浅谈vue项目可以从哪些方面进行优化
2018/05/05 Javascript
js实现web调用摄像头 js截取视频画面
2019/04/21 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
python 多线程应用介绍
2012/12/19 Python
python3实现163邮箱SMTP发送邮件
2018/05/22 Python
python实现大转盘抽奖效果
2019/01/22 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
pytorch中的embedding词向量的使用方法
2019/08/18 Python
Pytorch Tensor的索引与切片例子
2019/08/18 Python
详解Python中的GIL(全局解释器锁)详解及解决GIL的几种方案
2021/01/29 Python
CSS3实现跳动的动画效果
2016/09/12 HTML / CSS
科研课题实施方案
2014/03/18 职场文书
共产党员公开承诺书范文
2014/03/28 职场文书
个人整改措施落实情况汇报
2014/10/29 职场文书
四年级语文教学反思
2016/03/03 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书