/**
*
*@author FC
*
*若有问题,请联系:fc_lamp@163.com
*/
使用说明
需要使用jQuery库文件和passwordStrength库文件
使用实例
一,包含文件部分
<script language="Javascript" type="text/javascript" src="jquery-1.3.2.min.js"></script>
<script language="Javascript" type="text/javascript" src="passwordStrength.jQuery.js"></script>
二,HTML部分
<input type="password" id="test" name="test"></input>
三,Javascript部分
<script language="Javascript" type="text/javascript">
$(document).ready(function() {
$("#test").passwordStrength();
});
</script>
如上实例给密码框增加密码强度就是这么简单!
jQuery插件passwordStrength修改后JS代码如下:
jQuery.fn.passwordStrength = function(options)
{
var element = this; var css = { 'padding-left': '2em', 'font-size': '0.8em', 'color': '#F00' };
var randomID = "show_result"; $(this).after("<span id='show_result'> </span>");
$(this).live('keyup', function() { var pass = $.trim($(this).val());
var numericTest = /[0-9]/; var lowerCaseAlphaTest = /[a-z]/; var upperCaseAlphaTest = /[A-Z]/;
var symbolsTest = /[.,!@#$%^&*()}{:<>|]/; var score = 0; var result; if (numericTest.test(pass))
{ score++; } if (lowerCaseAlphaTest.test(pass)) { score++; } if (upperCaseAlphaTest.test(pass))
{ score + 3; } if (symbolsTest.test(pass)) { score++; } if (pass.length == 0) { result = ""; }
else if (score * pass.length < 8) { result = "弱"; } else if (score * pass.length < 16)
{ result = "中等"; } else if (score * pass.length < 24) { result = "强"; } else { result = "特强"; }
$('#show_result').html(result).css(css); }); $(this).live('keydown', function() { $('#show_result').empty(); });
$(this).live('blur', function() { $('#show_result').empty(); }); return this; };
另外:
$.extend($.fn, {
pstrength: function(options) {
var options = $.extend({
verdects: ["很不安全", "不安全", "一般", "安全的", "非常安全"],
colors: ["#f00", "#c06", "#f60", "#3c0", "#3f0"],
scores: [10, 15, 30, 40],
common: ["password", "sex", "god", "123456", "123", "liverpool", "letmein", "qwerty", "monkey"],
minchar: 6
}, options);
实现原理
1,设定输入的密码字符数区间:0-8,8-16,16-24,24+分别代表:弱、中等、强、特强
2,如何计算字符数?数字0-9、小写字母[a-z]和特殊字符计1个加权值,大写字母[A-Z]计3个加权值
3,将计算结果打印用于提示当前密码的强度