我需要为密码设置验证,使用案例是“密码必须要求1个大写字母,1个特殊字符和至少6个字符”
当前正在使用Pattern:
pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}"但是,如果我输入的密码为John@doe -它仍然要求输入一个数字(数字)。我假设这是因为(?=.*\d),但如果我删除它,那么密码将被接受,没有任何特殊字符。
如何使用要求特殊字符而不是数字(数字)的模式?
发布于 2021-09-14 08:55:26
只需要一个更新跟踪模式就行了
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[#?!@$%^&*-]).{6,}$添加描述/明细:
早些时候,(?=.*\d)同时使用数字和特殊字符--不知道为什么。但如下所示将它们分开有助于解决这个问题。
至少一个大写英文字母,(?=.*?[A-Z])至少一个小写英文字母,(?=.*?[a-z])至少一个数字,(?=.*?[0-9])至少一个特殊字符,(?=.*?[#?!@$%^&*-])长度至少六个.{6,} (带锚点)
https://stackoverflow.com/questions/69174277
复制相似问题