日期:2014-05-16  浏览次数:20377 次

在QQ注册页面抓的JS,这段看不懂什么意思,求JS高手
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;

这个具体的算法是什么样的啊

------解决方案--------------------
判断password的复杂程度。
有小写的字母,程度+1
有大写的字母 程度+1
有数字,程度+1
...
------解决方案--------------------
探讨
判断password的复杂程度。
有小写的字母,程度+1
有大写的字母 程度+1
有数字,程度+1
...

------解决方案--------------------
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;
------解决方案--------------------
腾讯的代码评审这么松么?这样的代码也能上?
 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的值来确定密码复杂度。