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

在web.config passwordstrengthregulareXpression=“中组合2个正则表达式

谢鸿羲
2023-03-14

我不能组合下面两个正则表达式。密码标准要求:

  • 密码不能包含超过两个连续字符的用户名或全名部分
  • 密码长度必须至少为6个字符
  • 密码必须包含下列三个类别中的字符
    • 大写字母(英文A-Z)
    • 小写字符(英文a-z)
    • 基数10位(0-9)
    • 非字母字符(例如!、@、#、$、%等)
    passwordStrengthRegularExpression="((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})"
    
    passwordStrengthRegularExpression="((?=.*\"^((?!Test|test|TEST).*)$"
    

共有1个答案

上官鸿朗
2023-03-14

因为第二个regexp主要使用负的lookahead,所以您可以稍微修改一下,并将其放在另一个表达式的开头。首先,我要将第二个regex更改为:

"(?!.*(?:Test|test|TEST))"

在英语中,字符串不能包含任何数量(或零)的字符后跟test。

然后,我要把它放在你另一个表达的开头

passwordStrengthRegularExpression="^(?!.*(?:Test|test|TEST))(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20}$"
passwordStrengthRegularExpression="^(?!.*(?i:test))(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20}$"

查看(?i:...)?这意味着:之间的标志只应用于表达式的那一部分,也就是说,只有那个区域不区分大小写。

 类似资料:
  • 我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:

  • 问题内容: 我有一个有效的正则表达式: 我也有一个正则表达式: 但是我不知道如何将两者结合起来 我试过了,但实际上没有用… 如果重要的话,这就是Java正则表达式中的全部内容。 问题答案: 如果您想要匹配以或开头的序列的正则表达式,请尝试以下操作: 但是除了周围的两个空格字符外,您的正则表达式也应该与之匹配: 这两个正则表达式匹配同一组字符串。

  • 给定两个文本中的单词由空格和标点符号分隔。从第一个文本中删除第二个文本中包含的所有单词。请帮助我使用正则表达式

  • 这里,我从数组的元素手动生成一个正则表达式。 如何使用@reg{...}的

  • 我有一个代码,使用一些逻辑生成一些单词,我有正则表达式1(见下文)。但是我需要生成正确的单词,例如单词1。我的逻辑包括我提到的数学模式。我需要正确的模式来生成单词,例如单词1而不是2。模式的逻辑是: 该单词以大写元音或辅音开头 长度为(整个单词的)2个或更多符号 一行不应超过两个元音或辅音 等等 这些是单词 1 这是正则表达式 1 这个正则表达式不起作用,我的代码逻辑生成了下一个单词: 这些是单词

  • 有没有一种方法可以在一行中编写三个pw_compare_digit、pw_compare_upper、pw_compare_lower函数来形成一个regex。 强密码定义为至少8个字符长、包含大写和小写字符且至少有一个数字的密码