regex AWS认知密码正则表达式-特定于AWS认知

bprjcwpo  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(124)

谁能给予我一个正则表达式来匹配一个有效的AWS Cognito密码--数字、特殊字符(他们的列表)、大小写字母
AWS Cognito的默认长度限制为6个字符,并具有自己的特殊字符列表

请注意,AWS Congito密码正则表达式是特定于AWS Congito的,而不仅仅是一般密码正则表达式。

lyr7nygr

lyr7nygr1#

更新答复-2023年3月

/^(?!\s+)(?!.*\s+$)(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*[$^*.[\]{}()?"!@#%&/\\,><':;|_~`=+\- ])[A-Za-z0-9$^*.[\]{}()?"!@#%&/\\,><':;|_~`=+\- ]{8,256}$/

解释

  • /表示正则表达式的开始。
  • ^开始。匹配字符串的开始。
  • (?!\s+)不允许前导空格。
  • (?!.*\s+$)不允许尾随空格。
  • (?=.*[a-z])要求使用小写字母。
  • (?=.*[A-Z])需要大写字母。
  • (?=.*[0-9])需要数字。
  • (?=.*[\^$*.[\]{}()?"!@#%&/\\,><':;|_~=+- ])`至少需要一个来自指定集的特殊字符。(非前导、非尾随空格字符也被视为特殊字符。)
  • [A-Za-z0-9^$*.[\]{}()?"!@#%&/\\,><':;|_~=+- ]{8,256}`最少8个字符(来自允许的字符集),最多256个字符。
  • $ End。匹配字符串的结尾。
  • /表示正则表达式的结束。

最小字符数限制默认为8,但可以自定义为6到99之间的值。但是,密码的全长限制为256个字符(不是99个字符)。

交互式示例

https://regexr.com/79p07

文件

https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-policies.html

文件不准确

Cognito在默认密码要求中也有一个"无前导或尾随空格"的规则,但有几个文档错误地声明"空格字符也被视为特殊字符"。然而,当前的行为实际上是"非前导,非尾随空格字符也被视为特殊字符"。
要查看正确的默认密码规则,请查看用户池,单击"登录体验"选项卡,然后单击"包含至少1个特殊字符"以显示包含规则的工具提示。

lsmepo6l

lsmepo6l2#

Swift 5正则表达式公式为

"(.*[()!@^$*.?\\-@#%&\":;|><'_~`+=\\[\\],{}])"

相关问题