我有密码验证JavaScript中的正则表达式如下:正则表达式没有验证
^[!#\$%\(\)\*,\-\./:;=\[email protected]\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$
<script type="text/javascript">
var regex = "^[!#\$%\(\)\*,\-\./:;=\[email protected]\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$";
var value = 'test';
if (value.match(regex) == false) {
alert('password invalid');
}
</script>
正则表达式规则是:
- 12-25个字符
- 至少一个大写字母
- 至少有一个小写字母
- 至少有一个数字 !10特殊字符
- 至少一个:#$%()*, - 。/:; = []^_`@ {|}〜
然而,正则表达式似乎不工作。它匹配任何字符。我该如何解决?
首先,我没有看到在该强制执行12-25个字符限制的正则表达式的任何地方。您似乎刚刚使用*表示'0或更多' - 您当前的正则表达式正好是: 开始 - 您的四个项目符号点(包括0)中的任意数量的字符 - 结束 – Ina
将您的正则表达式分成3个正则表达式检查所有规则。 – gaussblurinc