Regex 正则表达式:如何创建一个模式来匹配[$@&!]之间的至少一个小写字符、大写字符、数字和至少一个字符
以下是我需要满足的一系列标准: 至少1个小写字母[a-z]>25% 大写字母[A-Z]>25%之间至少有一个字母 至少有一个介于[0-9]->25%之间的数字 [$@&!]->25%中至少有1个字符 密码的最小长度为6,最大长度为12 这就是我用来满足这些标准的模式 我还没有掌握正则表达式是如何工作的 我还没有想到如何设置模式来检查第四个条件[$@&!]Regex 正则表达式:如何创建一个模式来匹配[$@&!]之间的至少一个小写字符、大写字符、数字和至少一个字符,regex,html,Regex,Html,以下是我需要满足的一系列标准: 至少1个小写字母[a-z]>25% 大写字母[A-Z]>25%之间至少有一个字母 至少有一个介于[0-9]->25%之间的数字 [$@&!]->25%中至少有1个字符 密码的最小长度为6,最大长度为12 这就是我用来满足这些标准的模式 我还没有掌握正则表达式是如何工作的 我还没有想到如何设置模式来检查第四个条件[$@&!] <input type="password" name="password" placeholder="enter your pa
<input type="password" name="password" placeholder="enter your password"
`pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[$@#&!]).{6,12}"required>
所以我需要一些帮助 使用正则表达式模式:
^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@#&!]).{6,12}$
注意:取决于您使用的语法和/或编程语言,一些特殊字符可能需要通过\prefix进行转义。@Welbog ok我可以使用JavaScript来实现这一点。我已经用JavaScript解决了这个挑战。但我想了解如何使用HTML5中的pattern属性实现这一点。您是否尝试将?=.[$@&!]添加到您的look aheads列表中?@Welbog我现在已经添加了它。问题是我读到*表示0或更多,而不是1或更多。因此,如果我在正则表达式中用+替换它,会更准确吗?模式=?=.*\d?=.[a-z]?=.[a-z]?=.[$@&!])。{6,12}模式是您应该根据需要使用的模式。如果你得到了问题的答案,你希望得到什么样的答案?结尾的美元符号是什么意思。我试着使用?=.*[0-9]?=.[$@&!]{6,12}并且成功了。这就是为什么我想知道^和$在模式前后的作用。在我现在测试的模式中,它和你的唯一区别是^和$。这就是我想说的。$表示字符串的结尾。如果不在我指定的位置使用它,就不会强制执行最大长度。您将获得子字符串匹配。^。{1,3}将与AAAAA匹配,但^.{1,3}$不会匹配。^表示字符串的开头。