题解 | #密码验证合格程序#正则就好了

密码验证合格程序

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

const list = []
let itm;
while(itm=readline()){
    list.push(itm)
}

for(let itm of list){
    if(!(/.{9,}/.test(itm))){
        console.log('NG');
        continue;
    }
    let sum = 0;
    if(/[a-z]/.test(itm))sum++
    if(/[A-Z]/.test(itm))sum++
    if(/[\d]/.test(itm))sum++
    if(/[^\da-zA-Z]/.test(itm))sum++
    
    if(sum<3){
        console.log('NG');
        continue;
    }
    if(/(.{3,}).*\1/g.test(itm)){
        console.log('NG');
    }else {
        console.log('OK');
    }
    
}
全部评论
/(.{3,}).*\1/g 这个正则用的好: (.{3,})表示匹配并捕获一个含三个以上任意字符(除换行符)的元组, .*匹配任意字符0次以上 \1重复匹配捕获的第一个元组
16 回复 分享
发布于 2022-05-23 21:48
写的太棒了,尤其是最后一条条件匹配的时候(๑•̀ㅂ•́)و✧
点赞 回复 分享
发布于 2022-04-18 08:19
大佬能介绍介绍正则可以使用的场景吗?我每次都是见到一个记录一个,感觉效率好低哦.
点赞 回复 分享
发布于 2022-04-18 08:21
这个正则表达式真是学到了👍
点赞 回复 分享
发布于 2022-06-23 15:02
最后一个正则就是我和大佬的差距,元组总是用不好
点赞 回复 分享
发布于 2023-06-02 01:15 安徽
为啥我测试超时了?
点赞 回复 分享
发布于 2023-06-16 22:17 浙江
超时
点赞 回复 分享
发布于 01-08 15:20 陕西
优雅、太优雅了
点赞 回复 分享
发布于 06-30 19:40 宁夏

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
11-15 19:28
已编辑
蚌埠坦克学院 硬件开发
点赞 评论 收藏
分享
33 9 评论
分享
牛客网
牛客企业服务