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

密码验证合格程序

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");
    }
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务