zoukankan      html  css  js  c++  java
  • 密码强度正则表达式 – 必须包含大写字母,小写字母和数字,至少8个字符等

      8 需要一个密码强度正则表达式在用户注册时校验用户密码强度:密码至少8个字符,包括1个大写字母,1个小写字母和1个数字或特殊字符,例如#,?,!。网上搜索了一些解决方案分享给大家。
      9 
     10  
     11 
     12 方案一
     13 
     14 至少8-16个字符,至少1个大写字母,1个小写字母和1个数字,其他可以是任意字符:
     15 
     16 /^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[^]{8,16}$/
     17 
     18 或者:
     19 
     20 /^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[sS]{8,16}$/
     21 
     22 其中 [sS] 中的s空白符,S非空白符,所以[sS]是任意字符。也可以用 [dD]、[wW]来表示。
     23 
     24 至少8个字符,至少1个大写字母,1个小写字母和1个数字,不能包含特殊字符(非数字字母):
     25 
     26 ^(?=.*[A-Za-z])(?=.*d)[A-Za-zd]{8,}$
     27 
     28 至少8个字符,至少1个字母,1个数字和1个特殊字符:
     29 
     30 ^(?=.*[A-Za-z])(?=.*d)(?=.*[$@$!%*#?&])[A-Za-zd$@$!%*#?&]{8,}$
     31 
     32 至少8个字符,至少1个大写字母,1个小写字母和1个数字:
     33 
     34 ^(?=.*[a-z])(?=.*[A-Z])(?=.*d)[a-zA-Zd]{8,}$
     35 
     36 至少8个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:
     37 
     38 ^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,}
     39 
     40 最少8个最多十个字符,至少1个大写字母,1个小写字母,1个数字和1个特殊字符:
     41 
     42 ^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&]{8,10}
     43 
     44 方案二
     45 
     46 还有,你可以使用这个正则表达式:
     47 
     48 ^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$
     49 
     50 这个正则表达式将强制执行这些规则:
     51 
     52 至少1个大写字母English letter,(?=.*?[A-Z])
     53 至少1个小写英文字母,(?=.*?[a-z])
     54 至少1位数字,(?=.*?[0-9])
     55 至少有1个特殊字符,(?=.*?[#?!@$%^&*-])
     56 最小8个长度.{8,}
     57 方案三
     58 
     59 正则表达式没有AND运算符,所以编写正则表达式与有效密码匹配是非常困难的,当有效性被某些东西和其他东西等定义时…
     60 
     61 但是,正则表达式确实有1个OR运算符,所以只需应用DeMorgan的定理,并编写1个与无效密码相匹配的正则表达式:
     62 
     63 任何少于8个字符或任何没有数字或任何没有大写字母或任何没有小写字母或任何没有特殊字符的任何东西。
     64 
     65 所以:^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$,如果有什么匹配的话,这是1个无效的密码。
     66 
     67 方案四
     68 
     69 由于特殊字符仅限于键盘中的特殊字符,因此可用于任何特殊字符:
     70 
     71 ^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[d]){1,})(?=(.*[W]){1,})(?!.*s).{8,}$
     72 
     73 这个正则表达式将强制执行这些规则:
     74 – 至少1个大写英文字母
     75 – 至少1个小写英文字母
     76 – 至少1位数字
     77 – 至少1个特殊字符
     78 – 最少8个长度
     79 
     80 方案五
     81 
     82 根据我的情况,我遇到了最受欢迎的答案。例如,我的验证失败,其中包含;或[等字符。我对 white-listing 我的特殊字符不感兴趣,所以我用[^ws]作为测试 – 简单地把非字符(包括数字)和非空格字符放在一起。总而言之,这是对我有用的
     83 
     84 至少8字符
     85 至少1数字字符
     86 至少1小写字母
     87 至少1大写字母
     88 至少1特殊字符
     89 /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^ws]).{8,}$/ 简单演示涵盖各种情况
     90 
     91 方案六
     92 
     93 导入JavaScript文件jquery.validate.min.js。
     94 
     95 您可以使用此方法:
     96 
     97 JavaScript 代码:
     98 $.validator.addMethod("pwcheck", function (value) {
     99 return /[@#$\%^&*()\_+!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)
    100 });
    101 至少1个大写英文字母
    102 至少1个小写英文字母
    103 至少1位数字
    104 至少1个特殊字符
    105 方案七
    106 
    107 尝试这个:
    108 – 最少6个字符
    109 – 至少有1个大写字符
    110 – 至少1个小写字符
    111 – 至少1个特殊字符
    112 
    113 表达式:
    114 
    115 /^(?=.*[a-z])(?=.*[A-Z])(?=.*d)(?=.*[$@$!%*?&.])[A-Za-zd$@$!%*?&.]{6, 20}/
    116 
    117 可选特殊字符:
    118 
    119 至少1个特殊字符
    120 至少1个数字
    121 特殊字符是可选的
    122 最少6个字符,最多16个字符
    123 表达式:
    124 
    125 /^(?=.*d)(?=.*[a-zA-Z]).{6,20}$/
    126 
    127 如果不需要最小和最大条件,则删除.{6, 16}
    128 – 6是最小字符数限制
    129 – 20是最大字符限制
    130 – ?=表示匹配表达式 
    认真工作、认真生活,努力做最好的自己!!!
  • 相关阅读:
    听过闰年闰月,可你听过闰秒吗?
    在线学习的“后浪”:现代学习系统中的人工智能
    idea在service窗口中显示现有微服务启动类
    Intellij IDEA导入项目出现Cannot load settings from file错误
    HttpServletRequest的getRequestURL方法获取不到https协议请求问题
    新增gitignore无效的解决办法
    访问腾讯存储桶中的文件,跨域问题的解决
    线程池的创建方法推荐
    TreeMap在自定义排序时的坑
    vue.js功能学习
  • 原文地址:https://www.cnblogs.com/songhuihui/p/14754259.html
Copyright © 2011-2022 走看看