showPwRank:function()
  {
    var a=$("password").value,b=$("password_info"),c=0;
    a.match(/[a-z]/g)&&c++;
    a.match(/[A-Z]/g)&&c++;
    a.match(/[0-9]/g)&&c++;
    a.match(/[^a-zA-Z0-9]/g)&&c++;
    c=c>3?3:c;这个具体的算法是什么样的啊

解决方案 »

  1.   

    判断password的复杂程度。
    有小写的字母,程度+1
    有大写的字母 程度+1
    有数字,程度+1
    ...
      

  2.   

    showPwRank:function()
      {
      var a=$("password").value,   //获取password值存入 a
          b=$("password_info"),   //获取password_info值存入 b
          c=0;                      //标记  
      a.match(/[a-z]/g)&&c++;        //a是否为a~z  ,是则标记++
      a.match(/[A-Z]/g)&&c++;      //a是否为A~Z  ,是则标记++
      a.match(/[0-9]/g)&&c++;     //a是否为0~9  ,是则标记++
      a.match(/[^a-zA-Z0-9]/g)&&c++;
      c=c>3?3:c;   
      

  3.   

    腾讯的代码评审这么松么?这样的代码也能上?
     a.match(/[a-z]/g)&&c++; 
      a.match(/[A-Z]/g)&&c++;
      a.match(/[0-9]/g)&&c++;
      a.match(/[^a-zA-Z0-9]/g)&&c++;
    如果说为了以后对复杂度进行更深层的规则,我就忍了,可扩展嘛。c=c>3?3:c;
    这就太扯了吧。
    国内前端高度发达的公司产品级代码??代码本身逻辑没问题,大家千万别对号入座,只是对他们的代码扫描吐槽下~~~!4个正则,分别建立了4个规则。分别对应小写、大写、数字、非字母数字。
    &&是短路计算,如果&&之前为false或者可转为false值(null,0,false,undefined等),那么&&之后不计算。否则计算c++。
    最终判断c的值来确定密码复杂度。
      

  4.   

    同感,c=c>3?3:c;太不能忍了。。还有居然没有判断带不带符号的
    还有,其实这样的密码强度验证一个正则就能搞定。。
      

  5.   

    我认识的几个tx的技术都很nice,无论是技术还是分享精神~~!
    交流起来也挺好的。
    咱不能诋毁人家