使用很简单。

代码如下:
$('#pass').passwordStrength(); 

XHTML

代码如下:
<p><label>请输入密码:</label> 
<input type="password" id="pass" class="input" /></p> 
<div id="passwordStrengthDiv" class="is0"></div> 
<p><label>确认密码:</label> 
<input type="password" id="repass" class="input" /></p> 

注意:id#passwordStrengthDiv的DIV是用来加载强度图片的,你也可以自定义ID,但调用时就要给参数赋值:

代码如下:
targetDiv : '#ID' //自定义加载图片的ID 

载入JS和CSS:

代码如下:
<link rel="stylesheet" type="text/css" href="style/main.css" /> 
<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript" src="jquery.passwordStrength.js"></script> 
<script type="text/javascript"> 
$(function(){ 
$('#pass').passwordStrength(); 
}); 
</script> 
 
 
 
 
 
 
 
 
 
 

现在很多注册页面都能显示密码强度,告诉用户使用复杂度高的密码。

现在有很多实现类似功能的js。基本原理都是:使用js触发text表单输入元素的keyup事件,根据输入字符的长度以及类型数量(比如数字,小写字母,大写字母,特殊字符等)动态修改提示元素的样式和文本。

下面演示的passwordStrength插件是基于jQuery的。

该插件使用一幅包含10个状态的图片显示密码强度。根据密码的输入,动态设置图片的垂直偏移量,达到切换不同状态的效果。

下面将该插件应用到asp.net应用程序中:

1、解压压缩包后,将password_strength.css文件放置到主题文件夹下(如果网站通过主题设置页面样式的话),否则,将该文件放置在css文件夹下。

该文件的样式定义如下:

.is0{background:url(../images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;}
.is10{background-position:0 -7px;}
.is20{background-position:0 -14px;}
.is30{background-position:0 -21px;}
.is40{background-position:0 -28px;}
.is50{background-position:0 -35px;}
.is60{background-position:0 -42px;}
.is70{background-position:0 -49px;}
.is80{background-position:0 -56px;}
.is90{background-position:0 -63px;}
.is100{background-position:0 -70px;}

2、如果使用了主题,则在主题文件夹下创建一个images文件夹,然后将progressImg1.png文件放置在文件夹下。此时应该修改上面的第一行样式类iso的图片地址为:url(images/progressImg1.png),其他不变。

3、然后新建一个页面,比如说注册页面。可以输入以下代码:

<td align="left">
            <asp:TextBox runat ="server" ID="txtPwd" TextMode ="Password"></asp:TextBox>
            <img src="" id="imgPwd" alt=""/><span id="spanPwd" class="alertTip"></span>
            <div id="passwordStrengthDiv" class="is0"/>
            <p class="regTooltip">(必填)密码长度要在6-18位之间,只能由字符(a-z)、数字(0-9)和下划线(_)组成</p>
        </td>

注意上述代码的红色部分,id使用的是默认值,因为在js插件中,会默认查找该ID的元素(如下红色代码),并将状态图片显示在此。也可以修改,但要求js和页面要保持一致。

$.fn.passwordStrength.defaults = {
 classes : Array('is10','is20','is30','is40','is50','is60','is70','is80','is90','is100'),
 targetDiv : '#passwordStrengthDiv',
 cache : {}
}

4、然后在页面中引入jQuery库和插件,并编写如下代码:

<head runat="server">
    <title></title>
    <script src="/js/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script src="js/jquery.passwordStrength.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function () {
            $("input[id$=txtNewPwd]").passwordStrength();
        });
    </script>
</head>

注意密码框是服务器控件。

下图是演示效果:

扩展:上面的方法,页面初始加载时,图片默认显示。也可以修改让状态图片,在密码输入后才显示。

修改方法:

首先样式文件改成:

.is0{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;}
.is10{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -7px;}
.is20{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -14px;}
.is30{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -21px;}
.is40{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -28px;}
.is50{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -35px;}
.is60{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -42px;}
.is70{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -49px;}
.is80{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -56px;}
.is90{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -63px;}
.is100{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;background-position:0 -70px;}

然后,将显示状态的div中的class去掉:

<div id="passwordStrengthDiv"></div>

其他代码保持不变。

(转)passwordStrength 基于jquery的密码强度检测代码使用介绍的更多相关文章

  1. jquery实现密码强度检测

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

  2. 基于规则评分的密码强度检测算法分析及实现(JavaScript)

    简言 用正则表达式做用户密码强度的通过性判定,过于简单粗暴,不但用户体验差,而且用户帐号安全性也差.那么如何准确评价用户密码的强度,保护用户帐号安全呢?本文分析介绍了几种基于规则评分的密码强度检测算法 ...

  3. CSS之密码强度检测

    输入密码后单击空白处即可检测. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "ht ...

  4. 基于jQuery右下角旋转环状菜单代码

    基于jQuery右下角旋转环状菜单代码.这是一款固定在页面的右下角位置,当用户点击了主菜单按钮后,子菜单项会以环状旋转进入页面,并使用animate.css来制作动画效果.效果图如下: 在线预览    ...

  5. 基于jQuery垂直多级导航菜单代码

    基于jQuery垂直多级导航菜单代码是一款黑色风格的jQuery竖直导航菜单特效下载.效果图如下: 在线预览   源码下载 实现的代码. html代码: <ul class="ce&q ...

  6. 基于jQuery图片自适应排列显示代码

    基于jQuery图片自适应排列显示代码.这是一款基于jquery.flex-images插件实现的类似谷歌图片流效果.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  7. 基于jQuery在线问卷答题系统代码

    分享一款基于jQuery在线问卷答题系统代码是一款实用的jQuery答题插件,点击下一题切换带有淡入淡出效果.实现的效果图如下: 在线预览   源码下载 实现的代码. html代码: <div ...

  8. 基于jQuery左右滑动切换图片代码

    分享一款基于jQuery左右滑动切换图片代码.这是一款基于jQuery实现的左右滑动切换焦点图代码.效果图如下: 在线预览   源码下载 实现的代码: <div class="v_ou ...

  9. 基于jquery右侧悬浮加入购物车代码

    分享一款基于jquery右侧悬浮加入购物车代码.这是一款基于jQuery实现的仿天猫右侧悬浮加入购物车菜单代码. 在线预览   源码下载 实现的代码: <!--左侧产品parabola.js控制 ...

随机推荐

  1. 【创建型】Builder模式

    生成器模式的主要思想:将产品对象的创建与表现分离开,并且同样的创建过程可以有不同的产品表现. 直白一点可以理解为:待创建的对象是复杂的,一般情况下是需要经过多个步骤的创建后,最终才能将完整产品创建好, ...

  2. 11061160顾泽鹏homework-01

    我的Github地址是buaa11061160 教材:中文版 代码大全 (第二版) 斯蒂夫·迈克康奈尔 设计思路: 输入了一串数组a[0].a[1]..... 从a[0]开始向后扫,在以数字a[i]结 ...

  3. 【转】关于FPGA中建立时间和保持时间的探讨

      时钟是整个电路最重要.最特殊的信号,系统内大部分器件的动作都是在时钟的跳变沿上进行, 这就要求时钟信号时延差要非常小, 否则就可能造成时序逻辑状态出错:因而明确FPGA设计中决定系统时钟的因素,尽 ...

  4. xx通CGI流量控制

    流量控制共分2步,首先在CGI框架对用户的ip作限制,第二限制每个CGI的流量.   一.基于IP的流量控制 用共享内存(shm)的方式保存基于ip的访问信息. 配置文件中 <variable ...

  5. ng-options

    tr td 地点 td select.form-control(required="true" ng-model="addkc.dd" ng-options=& ...

  6. vim下编写html的超级利器emmet

    GitHub:里面有详细的文档说明 https://github.com/mattn/emmet-vim 下载地址: http://www.vim.org/scripts/script.php?scr ...

  7. MCS-51单片机内部结构

    8051是MCS-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解. 8051单片机包含中央处理器.程序存储器(ROM).数据存储器(RAM).定时/计数器.并行接口.串行接口和中断系统 ...

  8. C++11之后,对源代码增加了UTF8和UCS4的支持(Windows内部使用Unicode,因为nt内核用的是ucs2,那是89年,utf8到了92年才发明出来)

    在C++编程中, 我们常打交道的无非是编辑器和编译器, 对编辑器起来说,我们常遇到就是乱码问题, 比如中文注释显示或是保存不了等, 解决办法就是把你的文件保存成Unicode(UTF8). 对于编译器 ...

  9. javascript 误用this指针 的情况

    理解了this指针后,我们再来看看一些很容易误用this指针的情况. 示例1——内联式绑定Dom元素的事件处理函数 <script type="text/javascript" ...

  10. 俄罗斯方块:Python实现

    网上搜到一个Pygame写的俄罗斯方块(tetris),大部分看懂的前提下增加了注释,Fedora19下运行OK的 主程序: #coding:utf8 #! /usr/bin/env python # ...