用于密码验证的正则表达式

2023-11-30

我目前使用这个正则表达式来检查字符串是否符合一些条件。

条件是 字符串长度必须介于 8 到 15 个字符之间。 字符串必须至少包含一个数字。 字符串必须至少包含一个大写字母。 字符串必须至少包含一个小写字母。

(?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,15})$

它在大多数情况下都有效,但不允许特殊字符。非常感谢任何修改此正则表达式以允许特殊字符的帮助。


这里似乎有很多混乱。到目前为止我看到的答案没有正确执行 1+ 数字/1+ 小写/1+ 大写规则,这意味着密码像abc123, 123XYZ, or AB&^#* 仍会被接受。防止全部小写、全部大写或全部数字是不够的;您必须强制执行其中至少一个的存在。

请尝试以下操作:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,15}$

如果您还想需要至少一个特殊字符(这可能是个好主意),请尝试以下操作:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^\da-zA-Z]).{8,15}$

The .{8,15}如果您愿意,可以设置更多限制(例如,您可以将其更改为\S{8,15}禁止空格),但请记住,这样做会降低密码方案的强度。

我已经测试了这种模式,它按预期工作。


Edit:一张小纸条,easiest做到这一点的方法是使用 3 个独立的正则表达式和字符串的Length财产。它也更容易阅读和维护,所以如果可以的话就这样做。但是,如果这是用于标记中的验证规则,那么您可能会陷入单个正则表达式的困境。

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

用于密码验证的正则表达式 的相关文章

  • 比较 LINQ to SQL 中的两个日期

    我有一个数据库 其中有一个名为会议的表 会议日期使用以下格式存储在此表中 May 2nd 2011 例如 格式为5 2 2011 我的要求是获取两个日期 例如 2011 年 4 月 25 日和 2011 年 5 月 2 日 之间的会议 并编
  • 增量决策树 C++ 实现

    有谁知道决策树分类器的增量实现吗 这样 当您将新实例添加到训练集中时 它可以根据现有决策树分类器以低计算量并尽可能快地生成最佳决策树分类器 换句话说 我有一个最优决策树分类器集A 其中命名为T 1 现在我想添加实例X to set A并找到
  • std::tr1::function 和 std::tr1::bind

    我在使用时遇到问题veryC 类中的复杂 C 函数 重写 C 函数是not一个选项 C函数 typedef void integrand unsigned ndim const double x void fdata unsigned fd
  • 使用 awk 将特定子字符串与正则表达式匹配

    我正在处理特定的文件名 并且需要从中提取信息 文件名的结构类似于 20100613 M4 28007834 005 F RANDOMSTR raw gz RANDOMSTR 是最多 22 个字符的字符串 并且可能包含 或不包含 格式为 W
  • 从套接字读取 C HTTP

    我想知道如何判断是否已从套接字接收到所有数据 这是一个简单的网络代理 现在我正在处理请求部分 所以发送的内容应该以 r n r n 结尾 我不知道请求会持续多久 我在这里读过一些帖子 说我应该检查读取函数是否返回 0 但其他人说0只在客户端
  • 如何删除实体框架6中的多对多关系

    如果将项目连接为多对多关系 则从数据库中删除项目时会出现问题 我的数据库看起来像 Project lt JobInProject gt Job ProjectID JobInProjectID JobID ProjectID JobID 主
  • ASP.NET中如何访问除wwwroot以外的位置

    我可以使用访问服务器的物理位置Server MapPath 这给了我内部的物理路径wwwroot文件夹 我想将一些数据保存到同一服务器的另一个驱动器中D 驾驶 我想我无法获取以下位置的物理位置D 驾驶使用Server MapPath因为它位
  • 修改正在运行的可执行文件的资源内容

    All 我将应用程序设置存储在资源中 当我的程序首次加载时 我使用 WinAPI 读取指定的资源 然后我解析检索到的字节数据 这对我来说完美无缺 现在假设用户更改了我的应用程序中的设置 他 她检查复选框控件 我想将更新的设置保存到我的资源中
  • C 中的链表数组:初始化和插入?

    我需要创建一个链表数组 如图所示 这就是我到目前为止所做的 typedef struct Node int data struct Node next Node int main void Node link 5 for int q 0 q
  • Request.Form 和 Request.QueryString 之间的区别?

    有人可以告诉我两者之间的确切区别吗Request Form and Request QueryString 我知道一个区别 比如 如果HTTP请求方式为POST 则用户提交的数据在申请表 收藏 如果HTTP请求方法是GET 则用户提交的数据
  • 生成范围 [min,max] 内的随机数 [重复]

    这个问题在这里已经有答案了 我正在使用 C 生成范围 min max 内的整数随机数 我在用 int random int int min int max return min rand max min 但我认为上面的代码适用于范围 min
  • Gridview 错误:对 Bind 的调用格式不正确

    我有以下 gridview 代码
  • 返回 ICollection 而不是 List 的真正优势是什么? [复制]

    这个问题在这里已经有答案了 我读过几篇博客文章 提到对于公共 API 我们应该始终返回 ICollection 或 IEnumerable 而不是 List 返回 ICollection 而不是 List 的真正优势是什么 Thanks 复
  • 用于 nmap 输出的 C++ xml 解析器

    我是 nmap 的新手 我在 nmap 教程中看到 https nmap org book man output html https nmap org book man output html oX 选项可用于获取 xml 格式的 nma
  • 在Framework 4.6项目中使用.net core DLL

    我已经在 net core 2 0 中构建了一个 DLL 现在我想在使用 net 4 6 1 框架的 WinForms 项目中使用它 我可以引用该 dll 但收到 System IO FileLoadException 表示找不到 Syst
  • 是否可以编写一个在另一个 Windows 应用程序中选择文本时收到通知的 Windows 应用程序?

    我很好奇是否可以编写一个程序来监视我的文本选择 一种可能的用途是编写一个与编辑器 IDE 无关的代码格式化程序 应用程序 服务 P 启动并以某种方式挂接到窗口中 以便在任何窗口中选择文本时收到通知 启动其他一些应用程序 A 用户选择 A 中
  • 如何使用完全空的类型使 Activator.CreateInstance 运行速度减慢约 20 倍

    Given NET 程序集命名expression host NET 程序集命名CreateInstanceTest CreateInstanceTest 在其配置文件中启用 NetFx40 LegacySecurityPolicy exp
  • 替换全局热键

    我有一个位于托盘中的应用程序 我想定义多个热键来触发我的程序中的事件 我从 AaronLS 在这个问题中的出色回答中找到了灵感 使用C 设置全局热键 https stackoverflow com a 27309185 3064934 如果
  • DataGridView 捕获用户行选择

    我在处理选择时遇到问题DataGridView 我的网格视图包含一个金额列 表单上有一个文本框 应显示所选网格视图行的总数 因此 我需要在用户选择 取消选择 gridview 行时捕获事件并相应地计算 添加 减去 金额 我找到了两种方法 使
  • C#:如何处理乱序 TCP 数据包?

    请有人解释一下如何处理乱序数据包 我使用原始套接字来捕获数据包 并在数据包到来时解析它们 但其中一些数据包的顺序错误 例如 ID 标志 16390 PSH ACK 16535 PSH ACK 16638 确认 16640 PSH ACK 1

随机推荐

  • Django 使用 AJAX 在模板中渲染模板

    我的网站目前在自己的页面上呈现表单 我正在尝试让它们在我的主页上的侧边栏 div 标签内呈现 但是 我不知道如何塑造 JavaScript 和 或视图 因此我取回表单模板的 HTML 并将其插入到 div 标记中 UPDATE 我在控制台中
  • 如何使用 HSSF (Apache POI) 在现有 Excel 中的两行之间插入一行

    不知何故 我设法在现有 Excel 文件中的两行之间创建新行 问题是 一些格式没有包含在行的移动中 其中之一是隐藏的行在轮班期间没有相对地进行 我的意思是 例如 第 20 到 30 行被隐藏 但是当创建新行时 格式仍然存在 在插入 创建新行
  • Javascript 多个键具有相同的值 - 它们是否指向同一个地方?

    我有以下简化代码 var obj key1 aliases alias1 alias2 prop1 someVal prop2 someOtherVal var objHashMap for var key in obj objHashMa
  • 在 2D 列表中查找值的 Pythonic 方法? [复制]

    这个问题在这里已经有答案了 使用 numpy 数组 您可以使用切片检查特定列 即array 0 对于列表 检查 2D 元素是否在内部非常简单 one two in some list 然而 只是看看是否 one 存在需要迭代元素 即 one
  • pandas 基于独特的价值观和标准

    我有这个数据框 df in pd DataFrame id 123 123 123 123 123 456 ven group a a a b f f date 1 1 21 2 1 21 3 1 21 1 1 21 1 1 21 1 1
  • 输入数组而不知道其大小

    有没有一种方法可以在 Java 中创建一个数组 而无需先定义或询问其长度 又名用户输入一些数字作为参数 程序创建一个包含这么多参数的数组 有没有一种方法可以在java中创建一个数组 而无需先定义或询问它的长度 又名用户输入一些数字作为参数
  • 如何编写降序排序键函数?

    最近版本的 Python 中传递一个key功能为sort 从上一个cmp函数使我对某些对象执行复杂的排序变得更加困难 例如 我想使用一组字符串决胜字段对一组对象从最新到最旧进行排序 所以我希望日期按相反顺序排列 但字符串按自然顺序排列 使用
  • 如何在 symfony 4 中公开 LoggerInterface 服务

    我希望有Psr Log LoggerInterface在 symfony 中 public 以便能够直接从容器中获取它 container gt get Psr Log LoggerInterface 我尝试了以下方法services ya
  • 使用 SSLEngine (JSSE) 与旧客户端进行 SSL 握手

    这是 的后续问题 使用自签名证书和 SSLEngine JSSE 进行 SSL 握手 我已经实现了一个 NIO Web 服务器 可以在同一端口上处理 SSL 和非 SSL 消息 为了区分 SSL 和非 SSL 消息 我检查入站请求的第一个字
  • 如何使用InputStream从ZIP读取文件?

    我必须使用 SFTP 从 ZIP 存档 只有一个文件 我知道它的名称 获取文件内容 我唯一拥有的是 ZIPInputStream 大多数示例显示如何使用此语句获取内容 ZipFile zipFile new ZipFile location
  • 使用委托将数据传递回先前的 VC 并更新自定义单元

    我正在尝试传递数据BACK到上一个viewController使用代表 有谁知道如何从ViewController B to ViewController A 所以我想传递数据SecondVC to FirstVC并使用来自的数据更新自定义
  • 为什么我的 @Autowired 对象为空?

    我有以下 JSF 托管 bean package com example import java io Serializable import javax faces bean ManagedBean import org springfr
  • 如何在iPhone应用程序中显示不同的自定义阿拉伯字体?

    在我的应用程序中 我需要使用不同的自定义字体显示阿拉伯语文本 我按照场景添加ttf文件到info plist 根据上面的场景 我成功获得了不同字体样式的显示文本ENGLISH纯文本 我正在做同样的事情arabic字体样式 但在这里我没有得到
  • 关于值类型装箱的混乱

    在下面的代码中 int i 5 object o 5 Console WriteLine o prints 5 我有三个问题 1 获得了哪些附加 有用的功能5驻留在变量中o那5由变量表示i不具有 2 如果某些代码需要值类型 那么我们可以将
  • 我的 CSS 不会链接到我的 HTML 文件

    我正在尝试在 Sublime Text Editor 2 中构建一个简单的网站 但是 我的 CSS 文件不会链接到我的 HTML 文件 因此不会打印纯文本 我的 HTML 代码是
  • Angularjs - 控制器继承与范围继承

    下面是使用范围继承的代码
  • 立即执行时出现无效字符错误

    BEGIN exception when others then sqltext2 insert into ERROR TABLE SHREE select str from dual EXECUTE IMMEDIATE sqltext2
  • 如何在 WPF MVVM 中将组合框与外键绑定

    我知道关于数据绑定组合框有很多问题 也有很多教程 但我觉得这些教程很难 所以 我问这个问题 假设我的数据库中有两个表 Customer CustomerID Name GenderID 性别类型 GenderTypeID GenderTyp
  • 跨浏览器脚本使我的网站成为主页[重复]

    这个问题在这里已经有答案了 我有一个网站 我想要求用户将我的网站设为主页 如果他们单击 是 我想运行一个脚本 使我的网站成为用户浏览器的主页 有一个类似的主题在这里和一个解决方案here 但是 我的后一个链接中提供的解决方案仅适用于 IE
  • 用于密码验证的正则表达式

    我目前使用这个正则表达式来检查字符串是否符合一些条件 条件是 字符串长度必须介于 8 到 15 个字符之间 字符串必须至少包含一个数字 字符串必须至少包含一个大写字母 字符串必须至少包含一个小写字母 0 9 a zA Z a zA Z0 9