<!-- 密码强度div -->
<div id="tips" class="help-block">
  <b class="fl">密码强度:</b><span></span><span></span><span></span>
</div>
<script type="text/javascript">
        $(function(){
            //开始的时候隐藏
                $('#tips').hide();
        });
    
    //验证密码强度
            window.onload = function() {
                //var oTips = document.getElementById("tips");
                var oTips = $('#tips').get(0);
                //var oInput = document.getElementsByTagName("input")[0];
                var oInput = $('#password').get(0);
                var aSpan = oTips.getElementsByTagName("span");
                //var aSpan = $("#tips span");
                //alert(aSpan);
                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 = "";
                        
                    if(index==3){
                        index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1]);
                        index && (aSpan[index - 2].className = "active", aSpan[index - 2].innerHTML = aStr[index - 2]);
                        index && (aSpan[index - 3].className = "active", aSpan[index - 3].innerHTML = aStr[index - 3]);
                    }else if(index==2){
                        index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1]);
                        index && (aSpan[index - 2].className = "active", aSpan[index - 2].innerHTML = aStr[index - 2]);
                    }else if(index==1){
                        index && (aSpan[index - 1].className = "active", aSpan[index - 1].innerHTML = aStr[index - 1]);
                    }
                    
                    if($('#tips').parent().parent().hasClass('error')){
                        $('#tips').hide();
                    }else if($('#password').val().length>=6){
                        $('#tips').show();
                    }
                        
                };
            };
            /** 强度规则
             + ------------------------------------------------------- +
             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-zA-Z]/.test(sValue))
                    modes++;
                
                //特殊字符
                if (/\W/.test(sValue))
                    modes++;
                
                switch (modes) {
                    case 1:
                        return 1;
                        break;
                    case 2:
                        return 2;
                        break;
                    case 3:
                        return 3;
                        break;
                }
            }
        </script>

密码强度应用(js)的更多相关文章

  1. 密码强度的js插件(完成)

    效果如下图: 低:

  2. jquery实现密码强度检测

    jquery实现密码强度验证   jquery实现密码强度验证 JS代码:   $('#pass').keyup(function(e) { var strongRegex = new RegExp( ...

  3. JS正则检测密码强度

    今天遇到个需求,使用JS检测密码强度:密码长度最短为8,必须同时包含字母.数字.特殊符号. 代码如下: /*         * 检测密码复杂度         */         function ...

  4. js判断密码强度

    html代码: <form name="form1" action=""> 密码:<input type="password&quo ...

  5. js动态判断密码强度&&实用的 jQuery 代码片段

    // 网上拷贝的代码,效果不太好需要自己调整<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q ...

  6. js 检验密码强度

    html 代码如下: <!DOCTYPE HTML> <html lang="en"> <head> <meta charset=&quo ...

  7. js实现密码强度验证

    <html> <head> <meta http-equiv="content-type" content="text/html" ...

  8. 正则表达式之js检验密码强度

    最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高).今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求. html 代码如下: <!DOCTYP ...

  9. 【javascript】js 检验密码强度

    最近一直在做通行证项目,里面的注册模块中输入密码需要显示密码强度(低中高).今天就把做的效果给大家分享下,代码没有网上搜索的那么复杂,能够满足一般的需求. html 代码如下: <!DOCTYP ...

随机推荐

  1. redhat--nagios插件--check_traffic.sh

    ****在被监控主机安装nrpe**** (1)在被监控主机上,增加用户和密码 useradd nagios passwd nagios (2)安装nagios插件 tar zxf nagios-pl ...

  2. jquery加入购物车飞入的效果

    主要原理是:点击当前图片的时候,复制(克隆)当前图片在当前位置,然后利用jQuery的animate()方法实现图像的飞入效果 效果预览:http://runjs.cn/detail/qmf0mtm1 ...

  3. Delphi打开窗体时报"Corrupt Portfolio Stream"

      今天在打开一个Delphi窗体时报了这么一个错误: Corrupt Portfolio Stream 查了一下,主要是由于Delphi窗体的*.ddp文件损坏引起的. 解决方法: 删除.ddp 文 ...

  4. Android-关于android:scrollbarStyle属性

    1. activity_maim.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android ...

  5. Asp.Net Core(.net内核)

    Asp.Net Core(.net内核) //----------------Day1----------------一章    Web基本原理 1节课程说明 web窗体--设计界面--加法使用Chr ...

  6. [转] error LNK2026: 模块对于 SAFESEH 映像是不安全的

    原文 今天使用VS2012遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的" 解决方法: 1.打开该项目的“属性页”对话框. 2.单击 ...

  7. HDU-4632 http://acm.hdu.edu.cn/showproblem.php?pid=4632

    http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意: 一个字符串,有多少个subsequence是回文串. 别人的题解: 用dp[i][j]表示这一段里 ...

  8. SVM:从理论到OpenCV实践

    (转载请注明出处:http://blog.csdn.net/zhazhiqiang/ 未经允许请勿用于商业用途)   一.理论 参考网友的博客: (1)[理论]支持向量机1: Maximum Marg ...

  9. 通过库函数API和C代码中嵌入汇编代码剖析系统调用的工作机制

    作者:吴乐 山东师范大学<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 本次实验的主要内容就是分别采用A ...

  10. 教你区分LVDS屏线及屏接口定义

    现在碰到液晶屏大多是LVDS屏线,经常碰到什么单6,双6 单8双8.如何区分呢?我以前也不知道,后在网上收集学习后才弄明白方法1数带 “ -”的这种信号线一共有几对,有10对的减2对就是双8,有8对的 ...