正则表达式匹配具有两个或多个特殊字符的强密码

2024-02-04

我需要使用 javascript 正则表达式匹配密码字段,并满足以下要求:

  • 至少 15 个字符
  • 两个或多个小写字母
  • 两个或多个大写字母
  • 两位或更多数字
  • 以下两个或多个特殊字符:!@#$%^&*-

我有一个正则表达式可以处理大多数情况:

/^.*(?=.{15,})(?=.{2,}\d)(?=.{2,}[a-z])(?=.{2,}[A-Z])(?=.{2,}[\!\@\#\$\%\^\&\*\-]).*$/

这里的问题在于符号,它适用于:

P@ssw0rdP@ssw0rd
Pssw0rdPssw0rd@@
Pssw0rd@@Pssw0rd

But not:

@@Pssw0rdPssw0rd

我设置了一个随机密码生成器来彻底测试这一点,因此任何想法都将不胜感激。谢谢!


/^(?=(?:.*[a-z]){2})(?=(?:.*[A-Z]){2})(?=(?:.*\d){2})(?=(?:.*[!@#$%^&*-]){2}).{15,}$/

你的前瞻是错误的。图案

(?=.{2,}[class])

表示匹配 2 个或更多字符(无论什么字符),然后跟随 1 个所需类别的字符。这与您指定的“所需类别的 2 个或更多字符”完全不同。

要正确测试文本中是否存在所需类别的字符,请使用

(?=.*[class])

因为你想检查两次,所以重复这个模式

(?=.*[class].*[class])
# equivalent to (?=(?:.*[class]){2})
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式匹配具有两个或多个特殊字符的强密码 的相关文章

  • 为什么电子邮件正文给出不同的输出?

    我正在尝试触发来自 Google 应用程序脚本的电子邮件 const body HtmlService createHtmlOutput A b new task b have been added to the Task Manager
  • 创建链接到 csv 文件的表

    我正在尝试创建一个链接到的表 csv使用 d3 文件 但我得到的只是一个空白网页 即使以克里米亚为例 我也得到一张空白页 我将很高兴得到指导或展示一个可行的例子或关于我做错了什么的建议 如果您询问如何从 CSV 数据创建 HTML 表 这就
  • 非法的break语句(Node.js)

    尝试在 Node js 和 MongoDB 中查找唯一 ID 方法是创建一个 while 循环来查询 MongoDB 中的现有 ID 直到找到唯一值 如果 ID 已被使用 则最后的数字会递增 直到 Mongo 不返回任何内容 一切正常 除了
  • Razorpay 支付集成 -> 我如何检测关闭按钮 X 附近的 razorpay 模型

    我在 CI 框架中使用 Razorpay 当用户在没有付款的情况下关闭时 创建 razor 支付模型 然后对于取消订单 我希望通过状态更改为已取消来触发查询 那么我怎样才能检测到这一点 我已经在使用 by click jQuery 点击关闭
  • 如何检查 webgl(two.js) 的客户端性能

    我有一个使用 Three JS 的图形项目 现在我想自动检查客户端 GPU 性能并计算可以在应用程序中加载多少元素 我想到了诸如 GPU 基准测试之类的东西 看一眼stats js https github com mrdoob stats
  • 使用 classed("active",true) 鼠标悬停时 D3 颜色变化

    我是 js 和 D3 的新手 我已经生成了某种热图 并且想使用 D3 的 on mouseover 更改图块的颜色 我可以显式更改颜色 但想使用 CSS 活动规则 可能是一些简单的东西可以修复 任何帮助将不胜感激 完整代码如下 Thanks
  • 替换后正确的子串位置

    我有一个由用户提供的这样的函数 function replace function string return string replace smile g replace foo bar baz g text 1 我有这样的输入字符串 v
  • Javascript 将即时生成的 BLOB 文件下载到特定文件夹中

    所以我正在尝试编写一个 Firefox Webextension 我想将网页的标题 网址和个人评论保存到文件中 myfile txt 这就是我得出的结论 我不希望我的 下载 文件夹很快变满 因此我想将它们下载到 下载 文件夹中包含的文件夹中
  • 在 MongoDB 中对 Null 值进行最后排序

    我使用以下查询根据名为 sortIndex 的字段按升序填充 MongoDB 中的项目 有时 数据库中的项目没有 sortIndex 字段 通过以下查询 具有 null sortIndex 的项目显示在顶部 我想知道如何让它们显示在底部 我
  • 由于运行 Javascript,Firefox 选择下拉列表不断刷新/恢复为默认选项 - AngularJS

    我正在 AngularJS 中构建一个应用程序 但在使用 Firefox 时无法选择下拉菜单 当我单击选择菜单并将鼠标悬停在选项上时 它会将所选选项从光标悬停的选项重置为默认 第一个选项 当选项数量很大时 选择正确的选项变得非常困难 该应用
  • chrome.extension.getBackgroundPage() 函数示例

    我正在开发一个需要在后台运行的小型 Chrome 扩展 但是 我知道当我使用弹出窗口时这是不可能的 经过一番阅读后 似乎最好的选择是创建popup js为了运行background js using chrome extension get
  • 您可以编写期望抛出异常的异步测试吗?

    我正在编写一个异步测试 期望异步函数像这样抛出 it expects to have failed async gt let getBadResults async gt await failingAsyncTest expect awai
  • Vim、Javascript、DoctorJS (jsctags) 和 Taglist(源代码浏览)

    我已经安装了DoctorJS http doctorjs org 之前jsctags 试图为 Vim 获得一些好的源代码浏览 标签列表 使用Taglist http www vim org scripts script php script
  • 将 SVG 下载为 PNG 图像

    我想将 HTML 页面中的 SVG 元素下载为 PNG 格式 我尝试了此操作 但下载了一个空白的 PNG 图像 如何将我的 HTML SVG 下载为 PNG 我用过这个https bl ocks org biovisualize 81878
  • Img src 路径以及要传递的标头参数

    我在 jsp 页面中有一个 img 标记 其中 src 路径需要传递标头参数才能获取图像 我们怎样才能实现它呢 您现在可以使用fetch https developer mozilla org en US docs Web API Fetc
  • 检测 JavaScript 代码中的拼写错误

    在Python世界中 使用最广泛的静态代码分析工具之一 pylint has a 特别检查 https stackoverflow com questions 27162315 automated docstring and comment
  • 访问影子 DOM 中的元素

    是否有可能查找 Shadow DOM 中的元素与蟒蛇硒 示例用例 我有这个input with type date
  • 使用 JavaScript 和 HTML 打印表情符号

    为什么这有效 p x1f604 p 而这并没有 document getElementById emoji innerHTML String fromCharCode parseInt 1f604 16 JS 术语中的 char 实际上是一
  • Javascript:在函数内调用函数时 window.location.href 不会重定向

    单击按钮时 window location href 会将浏览器重定向到 stackoverflow com 但在输入文本字段中按 Enter 键时不会将浏览器重定向到 stackoverflow com 尽管两个事件侦听器使用相同的函数
  • AngularJS 中的全局模拟对象用于 jasmine/karma 测试

    我有一个正在模拟进行单元测试的对象 基本上在我的测试文件中 我将其模拟如下 var mockObject mockMethod1 function return true mockMethod2 function return true b

随机推荐

  • 错误 1 ​​libavcodec.so 文件格式无法识别 Android GL 动态壁纸

    我正在尝试为 android 制作一个动态壁纸 播放位于 android asset 设备上的 mp4 视频 以我正在使用的示例为例 它实际上在运行时将文件复制到 SD 卡 无关紧要 我找到了这个example https github c
  • Angular 5 按日期排序

    我有一张课程表 我想按日期排序 由于 Angular 5 没有 orderBy 管道 并且到目前为止我找到的所有解决方案都只能应用于数字和字符串 如果有人可以帮助我 我将不胜感激 这是我的桌子的主体 tbody tr th lesson d
  • 如何使用 sed (或类似的)删除两个 html 标签之间的所有行?

    我有一个如下所示的文件 lt stuff gt lt stuff gt 我试图删除 HEAD 标签之间 包括 HEAD 标签 之间的所有内容 但似乎无法使其工作 我想 sed i e s lt HEAD gt g file HTML 应该可
  • 将逻辑 and 应用于布尔值列表

    考虑以下 Scala 中的布尔值列表 List true false false true 您将如何使用foldRight 或foldLeft 模拟对列表中的所有值执行逻辑AND 的功能 而不是使用foldLeft Right 您还可以使用
  • 为什么切片[:-0]在Python中返回空列表

    今天在编写一些单元测试时偶然发现了一些有点令人困惑的事情 blah a b c blah 3 blah 2 a blah 1 a b blah 0 我一生都无法弄清楚为什么blah 0 应该是这样 该模式似乎绝对表明它应该是 a b c 任
  • Webclient 双向使用二进制文件

    网络客户端 http msdn microsoft com en us library system net webclient 28v vs 95 29 aspx用于将指令文件 最多 1 兆字节 上传到服务器 并以二进制数据形式接收该操作
  • 将自定义对象附加到 Qt 中的 QStandardItem

    我在用着QTreeView向用户显示一些数据 我想要的是将一个实际对象附加到使用表示的每个节点QStandardItem 将对象引用保存到QStandardItem QStandardItem child new QStandardItem
  • Hibernate FetchMode SELECT 与 JOIN

    我有以下课程 Entity public class TestContentElementResponse Id GeneratedValue strategy GenerationType AUTO protected Long id O
  • 通过 SSL 传递时的 Cookie 安全性

    我是否正确地认为 如果您通过 SSL 加密请求传递会话 cookie 则该 cookie 只能由能够直接访问 cookie 发送到的计算机或发送 cookie 的服务器的攻击者读取 前提是他们无法破解加密 SSL 加密所有流量 包括标头 其
  • PHP - 未定义的变量

    我正在做一些练习PHP 和 MySQL 初学者塔克先生 在他的示例中一切正常 但在我的电脑上出现错误 注意 未定义变量 passwordRetrieved 在 C wamp www loginForm php 第 39 行 此示例的完整 P
  • 我们如何在VB.Net控制台应用程序中使用定时器控件?

    我正在尝试在控制台应用程序中使用计时器控件 Friend WithEvents XTIMER As System Windows Forms Timer 我正在设置它的所有属性 我已将间隔设置为 15000 毫秒 但即使我将计时器控件的启用
  • 无法在 windows7 上打开请求的 SVN 文件系统

    在 Windows 7 上使用 subversion 配置 apache httpd 时 出现以下错误 我已经安装了不同类型版本的 SVN 和 apache 我仍然面临这个问题 可以请有人帮助我解决这个问题 svn version 1 9
  • 向 MongoDB 中的 $lookup 结果添加一个字段

    我正在尝试使用 node js MongoDB 驱动程序向查找结果添加一个字段 用户有两种提要 1 他或她自己的提要和 2 共享提要 所以我需要同时获得两者 然后将它们结合起来 这是我原来的查询 效果很好 client db atlas c
  • 使用 Google Apps 脚本从 Google Firebase 写入 Google Sheets

    尝试检索存储在名为 条目 的节点下的 google firebase 中的表单条目 并使用 google 表格中的脚本编辑器附加到 google 表格 我已将 FirebaseApp 库添加到 Google Sheet 脚本编辑器中 然后我
  • 移动第二列中的 li 项目 - 仅限 CSS

    I have UL and LI列表和最大项目数为 10 如果超过 5 个项目 我试图将项目移动到第二列 并且只想使用 CSS 进行处理 我尝试使用 CSS3 Column 但它与所有项目一起进入第二列 如何做我确保将超过 5 个的项目移至
  • 在虚拟服务器上运行外部程序

    我想将可通过命令行 Linux 操作系统 访问的小程序安装到服务器并使用 PHP 运行它们 我想在我的机器上安装 Apache vhost 有没有办法在我的虚拟服务器 我的系统上运行这些外部应用程序 以便我可以尝试 PHP 调用 我们一直都
  • Jenkins CI:如何在 SVN 提交上触发构建

    我需要设置哪些插件和插件功能才能让我的 Jenkins 作业在代码提交到 SVN 项目时触发构建 我已经安装了标准 SVN 插件以及 SVN 标记插件 但我没有看到任何允许触发器配置的新功能 有两种方法可以解决这个问题 我最初推荐第一个选项
  • Rust 中比较函数的相等性

    我有一个函数 它接受一个数字作为参数 然后根据该数字返回一个函数 根据许多不同的情况 它可能会返回约 50 个函数中的任何一个 并且它应该返回哪个函数的情况变得非常复杂 因此 我想构建一些测试以确保返回正确的函数 到目前为止我所拥有的看起来
  • 更强大的点版本(重复)

    我知道如何录音q到寄存器中 但我想知道是否可以设置一些东西来快速调用最后一个录音 就像 调用最后一个简短的编辑命令 参见here https stackoverflow com questions 12566235 what can the
  • 正则表达式匹配具有两个或多个特殊字符的强密码

    我需要使用 javascript 正则表达式匹配密码字段 并满足以下要求 至少 15 个字符 两个或多个小写字母 两个或多个大写字母 两位或更多数字 以下两个或多个特殊字符 我有一个正则表达式可以处理大多数情况 15 2 d 2 a z 2