• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

JavaScript密码强度检测源代码_js

javascript 搞代码 7年前 (2018-06-13) 167次浏览 已收录 0个评论

1.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>

2.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= [“弱”,”中”,”强”];

 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);
  }
}


 

欢迎大家阅读javaScript密码强度检测源代码_js,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:JavaScript密码强度检测源代码_js
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址