验证密码的正则表达式

要求

  • 数字+英文(大写/小写/大小写)
  • 数字+特殊符号
  • 英文(大写/小写/大小写)+特殊符号
  • 数字+英文(大写/小写/大小写)+特殊符号

简单点来说就是不能是纯数字纯字母
有没有正则大佬帮我解答一下

阅读 207
评论 2019-11-08 提问
    2 个回答

    不能是纯数字和纯字母,没有其他任何限制:/^(?![a-z]+$)(?!\d+$)/i

    let reg = /^(?![a-z]+$)(?!\d+$)/i
    console.log(reg.test(''))//true
    console.log(reg.test(','))//true
    console.log(reg.test('acvD'))//false
    console.log(reg.test('123'))//false
    console.log(reg.test('1a'))//true
    console.log(reg.test('A1'))//true
    console.log(reg.test(' 1'))//true
    console.log(reg.test('\t'))//true
    console.log(reg.test('\n'))//true
    console.log(reg.test('\b'))//true
    console.log(reg.test('中文'))//true

    只能是ascii表上的可见字符长度8到64位
    /^(?![a-z]+$)(?!\d+$)[!-~]{8,64}$/i

    不能是纯符号的话
    /^(?![a-z]+$)(?!\d+$)(?=.*[a-z0-9])[!-~]{8,64}$/i

    如果是其他规则自行替换[!-~]{8,64}$

    评论 赞赏 2019-11-08

      这个你可能需要一个vscode插件
      clipboard.png

      评论 赞赏 2019-11-08
        撰写回答

        登录后参与交流、获取后续更新提醒