正则表达式来测试密码的强度

时间:2018-03-08 22:30:59

标签: javascript regex

我想要一个正则表达式,只有在字符串包含至少10到16个字符且至少包含数字,数字,字符串,大写字母,小写字符和特殊字符时才匹配。

我认为这个字符串应该通过这个正则表达式测试,但这不起作用: 字符串不包括叛逆者'或引用。 字符串:' asdf @ A1234';

Regexp:/^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*]{10,16}$/; 有人可以建议我缺少什么吗?

function testpwd(pwd) {
                var re = /^(?=.*[0-9])(?=.*[!@#$%^&*])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9!@#$%^&*]{10,16}$/;
             console.log(" Test Result is " + re.test(pwd) )
                return re.test(pwd);
            }

更新 对不起,红旗伙计们。代码正在运行。错误是在其他地方:)。我正在改写这个问题,以便它对未来的访问者有用。

1 个答案:

答案 0 :(得分:2)

它确实有效,https://regex101.com/r/2u0jZ2/1

虽然没有引号和半冒号。如果引号和分号是字符串的一部分,那么这就是没有发生匹配的原因