特效介绍

智能判断密码框密码强度的jQuery特效,输入前,会提示“6-16位,由字母(区分大小写)、数字、符号组成”并呈现灰显,输入框获取焦点会变成红色。输入框下面有判断强度的三个色条,也呈现灰显。当输入1个字符时,色条的第一个会呈现红色,表示非常弱,输入到6个字符时,后面提示文字消失。随着输入字符的复杂化,第二个色条会显示,表示密码强度中等,到输入非常复杂时,第三个色条会显示,表示非常强。当输入超过16个字符时,你会发现,再输入也输不进去了。
使用方法
1、在head区域引入jQuery库和css文件:<script src="https://5.jimth.com/download/jquery/jquery-1.8.3.min.js" type="text/javascript"></script> <link href="Css/style.css" rel="stylesheet" type="text/css" />2、在body区域引入下面的代码:
<form name="form1" method="post" action="register.aspx" id="form1">
<div id="pnBefore" class="t_zc_tc_a_tizhuce_a">
<div class="t_zc_tc_a_tizhuce_bg">
<div class="ywz_zhuce_bao" style="height: 580px; padding: 40px 0 0 0 !important;
border-right: none !important; margin-bottom: 0px;">
<div class="t_ywz_fuzai_yi"></div>
<div class="t_ywz_fuzai_yi"></div>
<div class="ywz_zhucexiaobo">
<div class="ywz_zhuce_youjian"> 设置密码:</div>
<div class="ywz_zhuce_xiaoxiaobao">
<div class="ywz_zhuce_kuangzi">
<input name="tbPassword" type="password" id="tbPassword" class="ywz_zhuce_kuangwenzi1" />
</div>
<div class="ywz_zhuce_huixian" id='pwdLevel_1'> </div>
<div class="ywz_zhuce_huixian" id='pwdLevel_2'> </div>
<div class="ywz_zhuce_huixian" id='pwdLevel_3'> </div>
<div class="ywz_zhuce_hongxianwenzi"> 弱</div>
<div class="ywz_zhuce_hongxianwenzi"> 中</div>
<div class="ywz_zhuce_hongxianwenzi"> 强</div>
</div>
<div class="ywz_zhuce_yongyu1"> <span id="pwd_tip" style="color: #898989"><font style="color: #F00">*</font> 6-16位,由字母(区分大小写)、数字、符号组成</span> <span id="pwd_err" style="color: #f00; display:none;">6-16位,由字母(区分大小写)、数字、符号组成</span> </div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
$('#tbPassword').focus(function () {
$('#pwdLevel_1').attr('class', 'ywz_zhuce_hongxian');
$('#tbPassword').keyup();
});
$('#tbPassword').keyup(function () {
var __th = $(this);
if (!__th.val()) {
$('#pwd_tip').hide();
$('#pwd_err').show();
Primary();
return;
}
if (__th.val().length < 6) {
$('#pwd_tip').hide();
$('#pwd_err').show();
Weak();
return;
}
var _r = checkPassword(__th);
if (_r < 1) {
$('#pwd_tip').hide();
$('#pwd_err').show();
Primary();
return;
}
if (_r > 0 && _r < 2) {
Weak();
} else if (_r >= 2 && _r < 4) {
Medium();
} else if (_r >= 4) {
Tough();
}
$('#pwd_tip').hide();
$('#pwd_err').hide();
});
function Primary() {
$('#pwdLevel_1').attr('class', 'ywz_zhuce_huixian');
$('#pwdLevel_2').attr('class', 'ywz_zhuce_huixian');
$('#pwdLevel_3').attr('class', 'ywz_zhuce_huixian');
}
function Weak() {
$('#pwdLevel_1').attr('class', 'ywz_zhuce_hongxian');
$('#pwdLevel_2').attr('class', 'ywz_zhuce_huixian');
$('#pwdLevel_3').attr('class', 'ywz_zhuce_huixian');
}
function Medium() {
$('#pwdLevel_1').attr('class', 'ywz_zhuce_hongxian');
$('#pwdLevel_2').attr('class', 'ywz_zhuce_hongxian2');
$('#pwdLevel_3').attr('class', 'ywz_zhuce_huixian');
}
function Tough() {
$('#pwdLevel_1').attr('class', 'ywz_zhuce_hongxian');
$('#pwdLevel_2').attr('class', 'ywz_zhuce_hongxian2');
$('#pwdLevel_3').attr('class', 'ywz_zhuce_hongxian3');
}
function checkPassword(pwdinput) {
var maths, smalls, bigs, corps, cat, num;
var str = $(pwdinput).val()
var len = str.length;
var cat = /.{16}/g
if (len == 0) return 1;
if (len > 16) { $(pwdinput).val(str.match(cat)[0]); }
cat = /.*[\u4e00-\u9fa5]+.*$/
if (cat.test(str)) {
return -1;
}
cat = /\d/;
var maths = cat.test(str);
cat = /[a-z]/;
var smalls = cat.test(str);
cat = /[A-Z]/;
var bigs = cat.test(str);
var corps = corpses(pwdinput);
var num = maths + smalls + bigs + corps;
if (len < 6) { return 1; }
if (len >= 6 && len <= 8) {
if (num == 1) return 1;
if (num == 2 || num == 3) return 2;
if (num == 4) return 3;
}
if (len > 8 && len <= 11) {
if (num == 1) return 2;
if (num == 2) return 3;
if (num == 3) return 4;
if (num == 4) return 5;
}
if (len > 11) {
if (num == 1) return 3;
if (num == 2) return 4;
if (num > 2) return 5;
}
}
function corpses(pwdinput) {
var cat = /./g
var str = $(pwdinput).val();
var sz = str.match(cat)
for (var i = 0; i < sz.length; i++) {
cat = /\d/;
maths_01 = cat.test(sz[i]);
cat = /[a-z]/;
smalls_01 = cat.test(sz[i]);
cat = /[A-Z]/;
bigs_01 = cat.test(sz[i]);
if (!maths_01 && !smalls_01 && !bigs_01) { return true; }
}
return false;
}
</script>
</form>
