js代码
//密码强度;
function PasswordStrength(showed) {
this.showed = (typeof (showed) == "boolean") ? showed : true;
this.styles = new Array();
this.styles[0] = {backgroundColor:"#EBEBEB", borderLeft:"solid 1px #FFFFFF", borderRight:"solid 1px #BEBEBE", borderBottom:"solid 1px #BEBEBE"};
this.styles[1] = {backgroundColor:"#FF4545", borderLeft:"solid 1px #FFFFFF", borderRight:"solid 1px #BB2B2B", borderBottom:"solid 1px #BB2B2B"};
this.styles[2] = {backgroundColor:"#FFD35E", borderLeft:"solid 1px #FFFFFF", borderRight:"solid 1px #E9AE10", borderBottom:"solid 1px #E9AE10"};
this.styles[3] = {backgroundColor:"#95EB81", borderLeft:"solid 1px #FFFFFF", borderRight:"solid 1px #3BBC1B", borderBottom:"solid 1px #3BBC1B"};
this.labels = ["\u5f31", "\u4e2d", "\u5f3a"];
this.divName = "pwd_div_" + Math.ceil(Math.random() * 100000);
this.minLen = 5;
this.width = "150px";
this.height = "16px";
this.content = "";
this.selectedIndex = 0;
this.init();
}
PasswordStrength.prototype.init = function () {
var s = "<table cellpadding=\"0\" id=\"" + this.divName + "_table\" cellspacing=\"0\" style=\"width:" + this.width + ";height:" + this.height + ";\">";
s += "<tr>";
for (var i = 0; i < 3; i++) {
s += "<td id=\"" + this.divName + "_td_" + i + "\" width=\"33%\" align=\"center\"><span style=\"font-size:1px\"> </span><span id=\"" + this.divName + "_label_" + i + "\" style=\"display:none;font-family: Courier New, Courier, mono;font-size: 12px;color: #000000;\">" + this.labels[i] + "</span></td>";
}
s += "</tr>";
s += "</table>";
this.content = s;
if (this.showed) {
document.write(s);
this.copyToStyle(this.selectedIndex);
}
};
PasswordStrength.prototype.copyToObject = function (o1, o2) {
for (var i in o1) {
o2[i] = o1[i];
}
};
PasswordStrength.prototype.copyToStyle = function (id) {
this.selectedIndex = id;
for (var i = 0; i < 3; i++) {
if (i == id - 1) {
this.$(this.divName + "_label_" + i).style.display = "inline";
} else {
this.$(this.divName + "_label_" + i).style.display = "none";
}
}
for (var i = 0; i < id; i++) {
this.copyToObject(this.styles[id], this.$(this.divName + "_td_" + i).style);
}
for (; i < 3; i++) {
this.copyToObject(this.styles[0], this.$(this.divName + "_td_" + i).style);
}
};
PasswordStrength.prototype.$ = function (s) {
return document.getElementById(s);
};
PasswordStrength.prototype.setSize = function (w, h) {
this.width = w;
this.height = h;
};
PasswordStrength.prototype.setMinLength = function (n) {
if (isNaN(n)) {
return;
}
n = Number(n);
if (n > 1) {
this.minLength = n;
}
};
PasswordStrength.prototype.setStyles = function () {
if (arguments.length == 0) {
return;
}
for (var i = 0; i < arguments.length && i < 4; i++) {
this.styles[i] = arguments[i];
}
this.copyToStyle(this.selectedIndex);
};
PasswordStrength.prototype.write = function (s) {
if (this.showed) {
return;
}
var n = (s == "string") ? this.$(s) : s;
if (typeof (n) != "object") {
return;
}
n.innerHTML = this.content;
this.copyToStyle(this.selectedIndex);
};
PasswordStrength.prototype.update = function (s) {
if (s.length < this.minLen) {
this.copyToStyle(0);
return;
}
var ls = -1;
if (s.match(/[a-z]/ig)) {
ls++;
}
if (s.match(/[0-9]/ig)) {
ls++;
}
if (s.match(/(.[^a-z0-9])/ig)) {
ls++;
}
if (s.length < 6 && ls > 0) {
ls--;
}
switch (ls) {
case 0:
this.copyToStyle(1);
break;
case 1:
this.copyToStyle(2);
break;
case 2:
this.copyToStyle(3);
break;
default:
this.copyToStyle(0);
}
};
body
<body>
<h4>密码强度检测</h4>
<table width="100%" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="100" align="right">强度显示:</td>
<td>
<script language="javascript">
var ps = new PasswordStrength();
ps.setSize("200","20");
ps.setMinLength(5);
</script>
</td>
</tr>
<tr>
<td align="right">密码检测:</td>
<td><input name="pwd" type="password" id="pwd" style="width:200px" onKeyUp="ps.update(this.value);"></td>
</tr>
</table>
</body>
分享到:
相关推荐
JavaScript密码强度检测JavaScript密码强度检测
JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)JavaScript函数(源代码)...
JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句(源代码)JavaScript分支语句...
javascript密码强度检测 javascript密码强度检测
JavaScript 密码强度判断代码,支持下~~
JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)JavaScript数组(源代码)...
javascript的日期空间源代码 javascript的日期空间源代码javascript的日期空间源代码
完整的Javascript开发技术大全源代码,包含大多数JAVASCRIPT效果
JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象(源代码)JavaScript之Date对象...
JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象(源代码)JavaScript之Math对象...
JavaScript Dom编程艺术源代码,包括所有素材。
C# + JavaScript密码强度检测
初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识JavaScript(源代码)初识...
密码强度测试 javascript实现的密码强度测试 javascript实现的密码强度测试 javascript实现的密码强度测试
JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源代码)JavaScript之DOM事件(源...
《HTML5+JavaScript动画基础》源代码
非常好用,欢迎下载!Javascript动态网页编程源代码 非常好用,欢迎下载!Javascript动态网页编程源代码
JavaScript入门经典(源代码).rar
javascript源代码大全
JavaScript源代码集