<!-- 密码强度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. 锋利的jQuery读书笔记---jQuery中操作DOM

    一般来说,DOM的操作分为3个方面,即DOM Core.HTML-DOM和CSS-DOM jQuery中的DOM操作主要包括以下种类: 查找节点 查找元素节点 查找属性节点 创建节点 创建元素节点 创 ...

  2. 顶 企业站常用css横向导航菜单

    <!DOCTYPE html PUBliC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/T ...

  3. 图片的android:src 及android:background共存

    ---恢复内容开始--- 需求:给ImageView添加背景色 效果: 实现分析: 1.目录结构: 代码实现: 1.activity_main.xml <merge xmlns:android= ...

  4. PHP经验集锦

    最近刚刚完成手中的项目,比较闲.来这儿转转,把积累的一些技巧分享给大家!1.关于PHP重定向 方法一:header("Location: index.php"); 方法二:echo ...

  5. WebForm+Web.config: 超时时间已到。在操作完成之前超时时间已过或服务器未响应。

    ylbtech-Error-WebForm+Web.config: 超时时间已到.在操作完成之前超时时间已过或服务器未响应. 超时时间已到.在操作完成之前超时时间已过或服务器未响应. 1.A,错误代码 ...

  6. ADO.NET 中的数据并发

    当多个用户试图同时修改数据时,需要建立控制机制来防止一个用户的修改对同时操作的其他用户所作的修改产生不利的影响.处理这种情况的系统叫做“并发控制”.并发控制的类型通常,管理数据库中的并发有三种常见的方 ...

  7. 【原】Kryo序列化篇

    Kryo是一个快速有效的对象图序列化Java库.它的目标是快速.高效.易使用.该项目适用于对象持久化到文件或数据库中或通过网络传输.Kryo还可以自动实现深浅的拷贝/克隆. 就是直接复制一个对象对象到 ...

  8. Fedora22(Gnome桌面)安装Chrome

    1.从官网上(http://www.google.cn/chrome/)下载到相对应系统版本的rpm包.这里我的是: google-chrome-stable_current_x86_64.rpm 此 ...

  9. C++ 我想这样用(七)

    话接前篇,继续基于对象编程语法的剩余部分: 6.类的const成员函数和const对象 const数据成员:跟const常量一样,只是一个在类里(而且是在构造函数里),一个在类外而已,都必须初始化. ...

  10. JSP学习笔记(一)

    注释: 1.单行注释<!-- -->或者// <%@ page language="java" import="java.util.*" co ...