【发布时间】:2016-05-18 21:12:22
【问题描述】:
我正在尝试创建一个符合以下要求的密码字段。
- 最少 8 个字符
- 最多 16 个字符
- 必须包含一个数字或特殊字符
-
只能使用以下特殊字符:
, ` ~ ! @#$%^&*); ' [ ] "{ } .
我阅读了this Stack Overflow question 并尝试了解示例中发生的情况。这是我想出的:
^[a-zA-Z](?=.*[0-9.,`~!@#$%^&*\);'\[\]\"\{\}.]).{8,16}+
这就是我使用模式的方式:
<input id="Password" class="form-control" pattern="^[a-zA-Z](?=.*[0-9.,`~!@#$%^&*\);'\[\]\"\{\}.]).{8,16}+" required="required" type="password">
然而,这个正则表达式似乎没有按预期工作。如果我输入“密码”作为我的输入,它应该被拒绝。相反,该字符串被接受。如果有人能帮我解决这个问题,我将不胜感激。
【问题讨论】:
-
是否有创建密码字段并使用正则表达式的代码?
-
为什么你的正则表达式开头有
[a-zA-Z]?您不要求字符串应以 ASCII 字母开头。 -
密码字段只是表单中的一个输入字段。我刚刚在我的原始帖子中包含了一个示例。
-
“我正在尝试创建一个符合以下要求的密码字段” - 请不要。没有什么比不得不偏离我通常创建密码的“方案”更烦人的了,只是因为某些网站认为它更了解什么是“安全性”……
标签: regex html validation