一个检查密码强度的 Javascript 函数,如果返回值大于 30 代表强度高,大于 20 代表强度中,算法方面比较简单。 就是检测是纯数字纯字母还是数字和字母混合。glade

这个函数是以前写极客地带的时候用的,Ajax 实现一个交互系统的确非常爽。呵呵

  1. function CheckPassword(val) {  
  2.     var sRe=[/[a-zA-Z]/g,/\d/g,/[^a-zA-Z0-9]/g];  
  3.     var sLe=[1,2,5];  
  4.     var sFa=[0,0,10,20];  
  5.     var iKn=0;  
  6.     var iSt=0  
  7.     for(var i=0;i<sRe.length;i++) {  
  8.         var cMa=val.match(sRe[i]);  
  9.         if(cMa!=null) {  
  10.             iSt+=cMa.length*sLe[i];  
  11.             iKn++;  
  12.         }  
  13.     }  
  14.     iSt+=sFa[iKn];  
  15.     return iSt;  

本日志由 Loveyuki 于 2008-02-28 10:07 发表,目前已经被浏览 2381 次,评论 15 次;

作者添加了以下标签: Javascript

引用通告:http://www.loveyuki.com/Article/52/Trackback.ashx

评论订阅:http://www.loveyuki.com/Article/52/Feeds.ashx

评论列表

  1. 2008-02-28 14:01 | # | 回复
    不oo!还是老毛病!
  2. 2008-02-28 14:37 | # | 回复
    好谢谢,支持你。。。。
  3. Gravatar
    Loveyuki
    2008-02-28 15:33 | # | 回复
    一个小函数,按照 OO 来说就是一个小方法,怎么能看出 OO ?
  4. Gravatar
    Crazy
    2008-02-28 16:59 | # | 回复
    不要为了OO而OO
  5. Gravatar
    Crazy
    2008-02-28 17:01 | # | 回复
    评论编辑器在firefox下错位了
  6. Gravatar
    Loveyuki
    2008-02-28 17:46 | # | 回复
    应该不是错位吧,我用 Firefox 2.0.0.12 测试过。显示都是正常的,就是刚开始和引用评论后光标位置不对。。。也很难定位到正确的位置。头疼……
  7. Gravatar
    2008-02-29 00:02 | # | 回复
    很好,很强大。
  8. Gravatar
    2008-02-29 00:03 | # | 回复
    我这边本地FF没问题
  9. 2008-02-29 21:33 | # | 回复
    大哥!我的意思是说可以把CheckPassword()看成一个构造函数来写!
  10. Gravatar
    Loveyuki
    2008-02-29 22:17 | # | 回复
    嗯,其实用原型最好了。String.prototype.CheckPassword = function() {...}
    如果再要 OO 点,就建立一个 Password 类继承自 String。我只是怀疑 Javascript 需要那么麻烦么。呵呵
  11. 2008-03-03 14:19 | # | 回复
    老哥,我引用你的文章老是说“引用路径错误”啊?…(我引用别人的都可以成功……)…
  12. Gravatar
    Loveyuki
    2008-03-03 20:02 | # | 回复
    我这个 BLOG 引用通告过滤比较严格,会访问发送过来的地址并检查内容是否包含发送的内容,有空我把过滤调整松一点吧。
  13. Gravatar
    Crazy
    2008-03-04 09:59 | # | 回复
    网上交流没必要写的那么复杂,知道方法就OK了,如果要自己编一个库,那肯定是用OO了
  14. 2008-03-05 17:02 | # | 回复
    有空老哥也用老哥的系统发个引用给我吧。我看我的能不能收到别的系统的引用信息~
  15. 2008-03-20 16:37 | # | 回复
    收下了。
(必填)
(必填,不会被公开)