HTML 密码验证 - 需要一个强制的特殊字符,但不是数字(数字)

Posted

技术标签:

【中文标题】HTML 密码验证 - 需要一个强制的特殊字符,但不是数字(数字)【英文标题】:HTML Password Validation - Need a special character mandatory but not a digit (number) 【发布时间】:2021-11-09 10:20:21 【问题描述】:

需要设置密码验证,用例为“密码必须要求 1 个大写字母、1 个特殊字符和至少 6 个字符”

目前使用模式:

pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).6,"

但是,如果我输入密码为 John@doe - 它仍然要求输入数字(数字)。我想这是因为(?=.*\d),但如果我删除它,那么密码就会被接受,没有任何特殊字符。

如何使用要求特殊字符而不是数字(数字)的模式?

【问题讨论】:

【参考方案1】:

只是更新 - 以下模式有效

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[#?!@$%^&*-]).6,$

添加描述/细分:

之前的 (?=.*\d) 使用数字和特殊字符 - 不知道为什么。但将它们分开如下有助于解决这个问题。

至少一个大写英文字母(?=.*?[A-Z]) 至少一个小写英文字母,(?=.*?[a-z]) 至少一位,(?=.*?[0-9]) 至少一个特殊字符,(?=.*?[#?!@$%^&*-]) 最少六个长度.6,(带锚)

来源:https://***.com/a/19605207/10926448

【讨论】:

请简要描述您的答案如何解决问题。谢谢!

以上是关于HTML 密码验证 - 需要一个强制的特殊字符,但不是数字(数字)的主要内容,如果未能解决你的问题,请参考以下文章

在python中识别密码验证中的特殊字符

没有 JQuery 的 Javascript 特殊字符密码验证

正则表达式验证密码必须由大小写字母、数字、特殊字符组成

密码验证 8 位数字,包含大写、小写和特殊字符

具有特殊字符的Javascript正则表达式密码验证

验证生成的密码是否包含必要的字符