我在 javascript 中有以下用于密码验证的正则表达式:
^[!#\$%\(\)\*,\-\./:;=\?@\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$
<script type="text/javascript">
var regex = "^[!#\$%\(\)\*,\-\./:;=\?@\[\\\]\^_`\{\|\}~a-zA-Z0-9]*$";
var value = 'test';
if (value.match(regex) == false) {
alert('password invalid');
}
</script>
正则表达式规则是:
- 12-25 个字符
- 至少有一个大写字母
- 至少一个小写字母
- 至少一位数字
- 至少一个特殊字符:!#$%()*,-./:;=?@[]^_`{|}~
但是,正则表达式似乎不起作用。它匹配任何字符。我该如何解决?