V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rqxiao
V2EX  ›  程序员

有没有办法在一个正则表达式中完成 这样的校验 ?密码必须多于 15、数字、大小写字母、特殊字符组成

  •  
  •   rqxiao · 2019-08-22 13:01:19 +08:00 · 2119 次点击
    这是一个创建于 1920 天前的主题,其中的信息可能已经有所发展或是发生改变。

    特殊字符是如这样的 @#¥%……&*

    12 条回复    2019-08-22 14:23:16 +08:00
    taogen
        1
    taogen  
       2019-08-22 13:06:27 +08:00 via Android
    一看你就是来求一个正则表达式的 🐶
    enjoyCoding
        2
    enjoyCoding  
       2019-08-22 13:09:09 +08:00
    一看你就是来求一个正则表达式的 🐶
    Rwing
        3
    Rwing  
       2019-08-22 13:10:23 +08:00   ❤️ 1
    ^.*(?=.{15,})((?=.*[!@#$%^&*()\-_=+{};:,<.>]){1})(?=.*\d)((?=.*[a-z]){1})((?=.*[A-Z]){1}).*$
    notreami
        4
    notreami  
       2019-08-22 13:11:49 +08:00
    根据经验,正则性能没有字符判断性能高。
    seven777
        5
    seven777  
       2019-08-22 13:12:00 +08:00
    密码复杂度真的是解决问题的方法吗?!
    需要变态复杂度的密码,不知道被使用者骂过多少次了!?
    rqxiao
        6
    rqxiao  
    OP
       2019-08-22 13:24:53 +08:00
    @Rwing 感谢
    rqxiao
        7
    rqxiao  
    OP
       2019-08-22 13:26:01 +08:00
    @taogen (狗头)
    rqxiao
        8
    rqxiao  
    OP
       2019-08-22 13:26:14 +08:00
    @enjoyCoding (狗头)
    nikandaoleshenme
        9
    nikandaoleshenme  
       2019-08-22 13:31:06 +08:00
    什么? 不少于 15 位长度密码? 我的万能密码 123456 不能用了? 什么 dzt 服务?
    不用了,告辞
    unicloud
        10
    unicloud  
       2019-08-22 13:39:50 +08:00 via iPhone
    可以的
    geelaw
        11
    geelaw  
       2019-08-22 14:10:53 +08:00   ❤️ 1
    用计算理论意义下的正则表达式(增加 [] 单选的快速写法)可以得到一个长度为 1338985 的表达式,它可以用这个代码生成

    https://gist.github.com/GeeLaw/351fade372ae059ccf1fa83746068fb5

    该表达式大概是

    ([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~]([!-\/:-@\[-`{-~][!-\/:-@\[-`{-~]*([A-Z]([A-Z]|[!-\/:-@\[-`{-~])*([a-z]([a-z]|[A-Z]|[!-\/:-@\[-`{-~])*[0-9]|[0-9]([0-9]|[A-Z]|[!-\/:-@\[-`{-~])*[a-z])|[a-z]([a-z]|[!-\/:-@\[-`{-~])*([A-Z]([a-z]|[A-Z]|[!-\/:-@\[-`{-~])*[0-9]|[0-9]([0-9]|[a-z]|[!-\/:-@\[-`{-~])*[A-Z])|[0-9]([ 等等等等
    lxrmido
        12
    lxrmido  
       2019-08-22 14:23:16 +08:00
    @geelaw 我怀疑你在发颜文字
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   989 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:44 · PVG 03:44 · LAX 11:44 · JFK 14:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.