当前位置: 首页 > 知识库问答 >
问题:

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

孙熠彤
2023-03-14

要求:

在我的角度应用程序中,用户密码应符合以下要求,

    < li >最少八个字符 < li >至少一个大写字母 < li >至少一个小写字母 < li >至少一个号码 < li >至少一个特殊字符

问题:

对于上述要求,我使用下面的正则表达式。

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&].{8,}$

前任:1F4@sf5s6,18F4@sf5s6

问题:

Q1:这个正则表达式不符合我的要求吗?

Q2:如何解决这个问题?

Q3:有没有其他方法来实现这个要求?

共有3个答案

葛承教
2023-03-14

我已经试过了,效果很好

Validators.pattern('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&])[A-Za-zd$@$!%*?&].{8,15}')

密码长度应在8-15个字符之间,并应包含一个数字、一个大小写字符和一个特殊字符

闾丘晨
2023-03-14

试试这个,我已经尝试过了,它工作正常。

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

你可以在这个地方测试它:https://regex101.com/r/DCRR65/4/tests

黄骏喆
2023-03-14

Q1:这个正则表达式不符合我的要求吗?Q2:如何解决这个问题?

不,它不符合你的要求,但是你太接近了。在你的圆点后加几个星号,你就成功了。以下是正确的正则表达式(https://regex 101 . com/r/grOsJC/1):

^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%?&])[A-Za-z\d$@$!%?&]{8,}$

你遇到的问题是,你的正面表象只是断言第二个字符,而不是检查整个字符串。此外,示例密码中有一个逗号,它在regex中不是合法字符,因此无论如何它都不会匹配。

Q3:有没有其他方法来实现这个要求?

您可以将正则表达式拆分为多个步骤或在同一字符串上传递,而不是将其全部压缩到一个表达式中。但我认为你拥有的正则表达式是可以理解的。

 类似资料:
  • 问题内容: 谁能帮助我创建用于密码验证的正则表达式。 条件为“密码必须包含8个字符和至少一个数字,一个字母和一个唯一字符,例如 问题答案:

  • 我需要检查密码是否至少包含: 一个号码 一个小写字符 一个大写字符 一个特殊符号(.,@etc) 我在C#中有以下内容: 但这并不有效: 我错过了什么? 更新 我正在将其与系统.组件模型.数据注释一起使用来验证模型属性:

  • 问题内容: 我已经在网上看到以下正则表达式。 仅当字符串: 我想知道如何转换此正则表达式,以便将字符串检查为 好吧,如果它至少包含2个大写,小写,数字和特殊字符,那么我就不需要8个字符的长度。 特殊字符包括: `〜!@#$%^&*()_- + = [] \ | {} ;:’“。,/ <>? 问题答案: 适应该正则表达式的最佳方法是将其剔除并编写一些代码。所需的正则表达式非常长且复杂,编写后两小时您

  • 我需要制作一个密码模式验证器 密码应具有: < li>1个大写字母 < li>1个小写字母 < li >一个号码 < li >最小长度为8。 我发现了这个正则表达式模式: 然而,验证器总是声称我的输入无效 根据 https://regex101.com/r/AfAdKp/1 此值应该是有效的。 编辑:澄清一下,Test1234应该可以工作

  • 我有以下密码验证规则: 至少8个字符 我试图找到这个规则的正则表达式模式,最接近的是: 但这并不适用于所有规则。 我对正则表达式是新手,如果有任何可以学习正则表达式的资源,我将不胜感激。

  • 我正在编写一个正则表达式来验证密码。条件是: > 密码必须至少包含两个特殊字符 密码必须至少有八个字符长 我可以使用以下正则表达式确保至少有8个字符、至少一个字母表、至少一个数字和至少一个特殊字符: 我无法获得的唯一条件是必须至少有两个特殊字符(上面的Reg exp是至少一个特殊字符)。有人知道这件事吗? 提前谢谢。