http://www.2cto.com/kf/201209/158346.html
Html:
<tr>
<td ><label >密码强度:</label></td>
<td >
<table class="PWDStrengthNormal">
<tr>
<td id='PStrengl'> </td>
<td id='PStrengm'> </td>
<td id='PStrengs'> </td>
</tr>
</table>
</td>
</tr>
JavaScript:
function isDigit(s) {
var pattern_d = /^\d+$/; //全数字
var pattern_s = /^[A-Za-z]+$/ //全字符
var pattern_w = /^\w+$/; //数字或者字符
var pattern_W = /^\W+$/ //全非数字也非字符
var pattern_r = /^\w+\W+[\w\W]*\w+$/ //以字母或者数字开头结尾的字符串
var pattern_o = /((\d+[a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+)|(\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+[a-zA-Z]+)|([a-zA-Z]+\d+[-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+)|([a-zA-Z]+[-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+\d+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+\d+[a-zA-Z]+)|([-`=\\\[\];',./~!@#$%^&*()_+|{}:\"<>?]+[a-zA-Z]+\d+))/ //非字母非数字之外的字符
var html = '';
var x = 0;
var y = 0;
var u = 0;
if (s.length >= 8) {
u = 2;
} else if (s.length>=6) {
u = 1;
}
//$('#user').html(s);
if (pattern_W.exec(s)) {
//html += '非数字也非字符<br />';
x = 0;
y = 0;
}
if (pattern_w.exec(s)) {
//html += '数字或者字符<br />';
y = 1;
}
if (pattern_d.exec(s)) {
//html += '全数字<br />';
x = 1;
y = 0;
}
if (pattern_s.exec(s)) {
//html += '全字符<br />';
x = 2;
y = 0;
}
if (pattern_r.exec(s)) {
//html += '以字母或者数字开头结尾的字符串<br />';
x = 3;
y = 2;
}
if (pattern_o.exec(s)&&u==2) {
//html += '以字母或者数字开头结尾的字符串<br />';
x = 3;
y = 2;
}
if (u==0) {
//html += '密码格式错误<br />';
//alert('密码格式错误');
$('#PStrengl').removeClass().addClass('PWDStrengthNormal').text('');
$('#PStrengm').removeClass().addClass('PWDStrengthNormal').text('');
$('#PStrengs').removeClass().addClass('PWDStrengthNormal').text('');
return;
}
if ((x > 0 && y === 0)||u==1) {
//html += '安全级别《低》<br />';
$('#PStrengl').removeClass().addClass('PWDStrengthLittle').text('');
$('#PStrengm').removeClass().addClass('PWDStrengthLittle').text('');
$('#PStrengs').removeClass().addClass('PWDStrengthLittle').text('');
return;
}
if ((x === 0 && y === 1)&&u==2) {
//html += '安全级别《中》<br />';
$('#PStrengl').removeClass().addClass('PWDStrengMedium').text('');;
$('#PStrengm').removeClass().addClass('PWDStrengMedium').text('');;
$('#PStrengs').removeClass().addClass('PWDStrengMedium').text('');
return;
}
if (y === 2) {
//html += '安全级别《高》<br />';
$('#PStrengl').removeClass().addClass('PWDStrengStrong').text('');;
$('#PStrengm').removeClass().addClass('PWDStrengStrong').text('');;
$('#PStrengs').removeClass().addClass('PWDStrengStrong').text('');;
return;
}
//html += x + '<br />' + y;
//$('#password').html(html);
}
$(function () {
$('#<%=txtTwoPass.ClientID%>').keyup(function () {
var val = $(this).val();
isDigit(val);
});
Css:
.PWDStrengthLittle {
width: 150px;
background-color: #CC0000;
}
.PWDStrengMedium {
width: 150px;
background-color: #FF9933;
}
.PWDStrengStrong {
width: 150px;
background-color: #00CC00;
}
.PWDStrengthNormal {
width: 150px;
}