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 相关文章推荐
jQuery Ajax之load()方法
Oct 12 Javascript
jQuery 加上最后自己的验证
Nov 04 Javascript
jquery统计复选框选中示例
Nov 05 Javascript
javascript实现可全选、反选及删除表格的方法
May 15 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 Javascript
jQuery获取URL请求参数的方法
Jul 18 Javascript
jqGrid翻页时数据选中丢失问题的解决办法
Feb 13 Javascript
js获取当前周、上一周、下一周日期
Mar 19 Javascript
jQuery幻灯片插件owlcarousel参数说明中文文档
Feb 27 jQuery
JS中注入eval, Function等系统函数截获动态代码
Apr 03 Javascript
vue以组件或者插件的形式实现throttle或者debounce
May 22 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
Feb 12 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
第九节 绑定 [9]
2006/10/09 PHP
新浪微博OAuth认证和储存的主要过程详解
2015/03/27 PHP
JQuery对checkbox操作 (循环获取)
2011/05/20 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
读取input:file的路径并显示本地图片的方法
2013/09/23 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
7个让JavaScript变得更好的注意事项
2015/01/28 Javascript
jquery UI Datepicker时间控件的使用方法(基础版)
2015/11/07 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
vue基于mint-ui实现城市选择三级联动
2020/06/30 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
优雅的将ElementUI表格变身成树形表格的方法步骤
2019/04/11 Javascript
js实现转动骰子模型
2019/10/24 Javascript
js实现图片实时时钟
2020/01/15 Javascript
Vue实现跑马灯效果
2020/05/25 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
Python内置函数之filter map reduce介绍
2014/11/30 Python
使用python将图片格式转换为ico格式的示例
2018/10/22 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
Django Admin中增加导出CSV功能过程解析
2019/09/04 Python
Python dict和defaultdict使用实例解析
2020/03/12 Python
浅谈Keras参数 input_shape、input_dim和input_length用法
2020/06/29 Python
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
Microsoft Advertising美国:微软搜索广告
2019/05/01 全球购物
优良学风班申请材料
2014/02/13 职场文书
运动会入场式解说词
2014/02/18 职场文书
岗位廉政承诺书
2014/03/27 职场文书
实践单位评语
2014/04/26 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
销售员自我评价
2015/03/11 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
原来闭幕词是这样写的呀!
2019/07/01 职场文书
Android开发 使用文件储存的方式保存QQ密码
2022/04/24 Java/Android