//密码强度;
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
//密码强度;

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= ["弱","中","强"];

this.divName = "pwd_div_"+Math.ceil(Math.random()*100000);
this.minLen = 6;
this.width = "150px";
this.height = "13px";
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(/\d/.test(s)&&/[a-z]/.test(s)&&/[A-Z]/.test(s))

{
ls++;
}
//if(s.match((([A-Za-z]+\d+) ¦(\d+[A-Za-z]+))+$/))
//{
// 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);
}
}
<asp:TextBox ID="txt_密码" runat="server" Width="150px" TextMode="Password" onfocus="focuspwd();" onChange="PStrong();"
onblur="return isRegisterPwd();"></asp:TextBox>
<tr>
<td align="right">密码强度 </td>
<td align="left">

<script>
//设置密码强弱显示的地方
var ps = new PasswordStrength();
ps.setSize("185","15");
ps.setMinLength(6);
</script></td>
<td align="left"><div class="noclick">建议采用易记、难猜的英文数字组合。<a href="#" style="color:#FF0000;" onmouseover="ctpassword();" onmouseout="ctpassword();">如何设置高强度密码</a></div>
<div id="setpassword" name="setpassword" style=" width:410px;padding:5px; border:1px solid #A9BAD3; position:absolute; z-index:10; background:#FFFFFF; display:none;">
<table cellspacing="0" cellpadding="0">
<tr>
<td><strong>为了您的帐户安全,请尽量设置复杂密码,不要有规律。您容易记忆的密码,同时也很可能被轻易猜出来。请参考以下建议: </strong></td>
</tr>
<tr>
<td><p style="line-height:20px;">
1、密码长度为6到20个字符;<br />
2、使用英文字母和数字的组合,如wdvt058、8465sdrj等,尽量不要有规律;<br />
3、千万别把您的密码设置成以下这样,安全性过低:<br />
a.密码和会员登录名名完全一致;<br />
b.密码和您的联系方式“电话”、“传真”、“手机”、“邮编”、“邮箱”的任何一个一致,如:85027110、075585027110;<br />
c.密码用连续数字或字母,如:234567、987654、abcdef;<br />
d.密码用同一个字母或者数字,如:88888888,aaaaaa;<br />
e.密码用会员登录名或邮件地址中的一部分,如您的会员登录名是carry770815,勿使用770815作为密码。<br />
f.密码用您的姓名、单位名称、或其他任何可轻易获得的信息。如:liudehua、sjoem;<br />
g.密码用简单有规律的数字,如:789456、123321;<br />
</p></td>
</tr>
</table>
</div></td>
</tr>
posted on
2007-11-30 09:00
小角色
阅读(
408)
评论()
收藏
举报