我有一个正则表达式来确保密码包含大小写字符并且仅限于少数符号:
^(?:(?=[^a-z]*[a-z])(?=[^A-Z]*[A-Z])(?=.*[$@$!%*?&,;.:-_])[A-Za-z\d$@$!%*?&,;.:-_]+)?$
注意:它允许空密码。我正在用另一种方式进行检查。
但是,它不允许使用如 ç、á、õ 等拉丁字符。
如何添加这种类型的字符?
更新
我正在尝试创建一个与 Microsoft 选项同步的密码验证正则表达式,例如:
RequireDigit (Default = true)
Requires a number between 0-9 in the password.
RequireNonAlphanumeric (Default = true)
Requires a non-alphanumeric character in the password.
RequireUppercase (Default = true)
Requires an upper case character in the password.
RequireLowercase (Default = true)
Requires a lower case character in the password.
RequiredUniqueChars (Default = 1)
Requires the number of distinct characters in the password
因此,我希望有一个正则表达式块,这样我可以通过添加或删除规则以及进行任意组合来轻松更改它。
这样说是否让您明白了呢?
\p{Ll}
表示任何脚本中的小写字母。微软文档涵盖了这一点。 - ctwheels^(?=\P{Ll}*\p{Ll})(?=\P{Lu}*\p{Lu})(?=\P{N}*\p{N})(?=.*[^\p{L}\p{N}\p{C}]).{8,}$
。 - ctwheels