谁能给予我一个正则表达式来匹配一个有效的AWS Cognito密码--数字、特殊字符(他们的列表)、大小写字母AWS Cognito的默认长度限制为6个字符,并具有自己的特殊字符列表
lyr7nygr1#
/^(?!\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,但可以自定义为6到99之间的值。但是,密码的全长限制为256个字符(不是99个字符)。
https://regexr.com/79p07
https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-policies.html
Cognito在默认密码要求中也有一个"无前导或尾随空格"的规则,但有几个文档错误地声明"空格字符也被视为特殊字符"。然而,当前的行为实际上是"非前导,非尾随空格字符也被视为特殊字符"。要查看正确的默认密码规则,请查看用户池,单击"登录体验"选项卡,然后单击"包含至少1个特殊字符"以显示包含规则的工具提示。
lsmepo6l2#
Swift 5正则表达式公式为
"(.*[()!@^$*.?\\-@#%&\":;|><'_~`+=\\[\\],{}])"
2条答案
按热度按时间lyr7nygr1#
更新答复-2023年3月
解释
/
表示正则表达式的开始。^
开始。匹配字符串的开始。(?!\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个特殊字符"以显示包含规则的工具提示。
lsmepo6l2#
Swift 5正则表达式公式为