题解 | #密码验证合格程序#

密码验证合格程序

https://www.nowcoder.com/practice/184edec193864f0985ad2684fbc86841

使用正则表达式来验证密码是否合格,个人觉得难点有两个,一个是如何验证密码有三种以上不同数据,另外一个是如何验证密码内是否有长度2以上的重复的字符串
代码如下:
//利用while循环获取每行数据,并对每行进行处理
while (line = readline()) {
    //新建空变量sum,使其为0
    let sum = 0;
    //以下四种数据类型,当密码包含任意一种时sum+=1
    if (/[a-z]/.test(line)) {
        sum += 1;
    }
    if (/[A-Z]/.test(line)) {
        sum += 1;
    }
    if (/\d/.test(line)) {
        sum += 1;
    }
    if (/[^\da-zA-Z\s\n]/.test(line)) {
        sum += 1;
    }
    //总结:当密码长度大于8 且sum大于等于3(说明密码包含三种以上数据) 且无长度2以上的重复字符串 则密码“OK”
    if (line.length > 8 && sum >= 3 && /(.{3,}).*\1/g.test(line) === false) {
        console.log("OK");
    }
    //其余情况:密码“NG”
    else {
        console.log("NG");
    }
}

全部评论

相关推荐

02-11 17:47
已编辑
门头沟学院 Java
神哥不得了:神哥来啦~建议先在网上找一些高频的八股去背,然后再去广泛的背八股,这样的学习会更有效率一些,简历的这两个项目建议换掉,换成两个高质量的项目,这样的话获得面试的比例会更高一点,专业技能的话排版要注意一下,要加句号的话就都加,要不加就都不加,荣誉奖项的话写在教育经历里边吧,这个确实没有太多的含金量
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务