一段基于jQuery的,验证用户密码的简单应用

<html>
<head>
<title>PASSWORD CHECK</title>
<script language="javascript" type="text/javascript" src="../jquery/jquery.js"></script>
<script language="javascript" type="text/javascript">
$(document).ready(function(){
 initP();
});
// check the result generally
var ip = new RegExp(/[0]+|111|121/);
// message for notice
var msgMap = {
"^0":"original password is wrong",
"^11|^12":"new password is too simple",
"^10":"new password is too short",
"^19":"new password is too long",
"130":"repeat password is wrong"
};
// find the input text
var pMap = {
"^0":"pw0",
"^11|^12":"pw1",
"^10":"pw1",
"^19":"pw1",
"130":"pw2"
};
// initiate
function initP(){
$("input[type='submit']").click(function(){
  return sC();//submit check
 });
 iC();//input check
}
//check for submit
function sC(){
  var ps = getApw();
   var r = aop(ps[0].value)+""+anp(ps[1].value)+""+arp(ps[1].value,ps[2].value);
   if (r.match(ip))
   {
    for(var k in msgMap){
     if (r.match(k))
     {
      alert(msgMap[k]);
      try
      {$("#"+pMap[k]).select();}
      catch (e)
      {}
      return false;
     }
    }
   } 
}
// get all password
function getApw(){
 var ps = new Array();
   $("input[id^='pw']").each(function(e){
    var i = this.id.replace('pw','');
    ps[i] = this;
   });
 return ps;
}
// check for input
function iC(){
  var n = document.createElement("span");//create the element for notice
 $("input[id^='pw']").keyup(function(){
  var ps = getApw();
  var r = aop(ps[0].value)+""+anp(ps[1].value)+""+arp(ps[1].value,ps[2].value);
  if (r.match(ip))
   {
    for(var k in msgMap){
     if (r.match(k))
     {
      n.innerText = msgMap[k];
      $("#"+pMap[k]).after(n);// display the notice
     }
    }
   } 
  else n.innerText = "";
 });
}
// check the new password
function anp(p){
 if (p.length < 8) return 0;// it is too short
 if (p.length > 16) return 9;// it is too long
 var ls = 0;
 if (p.match(/([0-9])+/)) {ls++;}
 if (p.match(/([a-z])+/)) {ls++;}
 if (p.match(/([A-Z])+/)) {ls++;}
 if (p.match(/([^0-9a-zA-Z])+/)) {ls++;}
 if (ls >= 3) return 3;// it is ok
 return ls;//it is too simple
}
// check the repeat password
function arp(np,rp){
 if (np == rp) return 1;
 else return 0;
}
// check the original password
function aop(p){
 var op = 1;
 if (p == op) return 1;
 else return 0;
}
// clean all password input text
function clean(){
 var ps = getApw();
 for (var i = 0;i < ps.length ;i++ )
 {
  ps[i].value="";
 }
}
</script>
</head>
<body>
DEMO:
<br>
<form id="pw">
ORIGINAL PASSWORD:<input type="text"  id="pw0"/>
<br><br>
NEW PASSWORD:<input type="text"  id="pw1"/>
<br><br>
REPEAT PASSWORD:<input type="text" id="pw2"/>
<br><br>
<input type="submit" value="submit"/>
</form>
</body>
</html>

     我想根据html的内容基本能明白id和输入的对应关系,我是根据对原有密码,新密码和重复密码的验证结果集合成一个结果进行统一的验证,并不是分开校验,所以可能对理解代码有一点儿障碍,当然这么写也是存在实验性的了,恩,能力非常非常有限,还希望各位同学给予批评和指正,在下感激万分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值