题解 | #密码强度等级#

密码强度等级

https://www.nowcoder.com/practice/52d382c2a7164767bca2064c1c9d5361

这应该算是比较简洁的一个版本了吧 欢迎有更好方法的朋友指正 完整代码如下:
let res = 0;
while(line = readline()) {
    line.length > 8 ? res += 25 : line.length > 4 ? res += 10 : res += 5;
    line.match(/(?=.*[a-z])(?=.*[A-Z])^.+$/) ? res += 20 : res += 10;
    //下面这两步我一直想去掉第一个条件,但是一旦去掉系统就会报错‘Can't read property 'length' of null’;没办法只能加上了
    line.match(/\d/g) ? (line.match(/\d/g).length > 1 ? res += 20 : res += 10) : res = res;
    line.match(/\W/g) ? (line.match(/\W/g).length > 1 ? res += 25 : res += 10) : res = res;
    //这个也是相对来说比较简洁的方法了
    line.match(/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*\W)^.+$/) ? res += 5
        : line.match(/(?=.*\d)(?=.*[A-Za-z])(?=.*\W)^.+$/) ? res += 3
        : line.match(/(?=.*\d)(?=.*[A-Za-z])^.+$/) ? res += 2
        : res = res;
}
//最后采用了一个for循环来显示结果
let arr1 = [90, 80, 70, 60, 50, 25, 0];
let arr2 = ['VERY_SECURE', 'SECURE', 'VERY_STRONG', 'STRONG', 'AVERAGE', 'WEAK', 'VERY_WEAK'];
for (let i = 0; i < 7; i++) {
    if (res >= arr1[i]) {
        console.log(arr2[i]);
        break;
    }
}


全部评论

相关推荐

赏个offer求你了:友塔HR还专门加我告诉我初筛不通过😂
点赞 评论 收藏
分享
ProMonkey2024:5个oc?厉害! 但是有一个小问题:谁问你了?😡我的意思是,谁在意?我告诉你,根本没人问你,在我们之中0人问了你,我把所有问你的人都请来 party 了,到场人数是0个人,誰问你了?WHO ASKED?谁问汝矣?誰があなたに聞きましたか?누가 물어봤어?我爬上了珠穆朗玛峰也没找到谁问你了,我刚刚潜入了世界上最大的射电望远镜也没开到那个问你的人的盒,在找到谁问你之前我连癌症的解药都发明了出来,我开了最大距离渲染也没找到谁问你了我活在这个被辐射蹂躏了多年的破碎世界的坟墓里目睹全球核战争把人类文明毁灭也没见到谁问你了(别的帖子偷来的,现学现卖😋)
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务