我现在正在使用密码,并希望让用户创建复杂的密码。我使用jQuery检查密码是否足够长以及它取决于使用的字符有多强。仍然无法弄清楚如何让用户创建没有重复字符的密码,所以他不能输入密码,如'111111111111111111111111'或'1qAz1qAz1qAz'等。 我的代码在这里:
$("#new_pass").keyup(function() {
var newpass = $(this).val();
var chars = 0;
if((/[a-z]/).test(newpass)) chars += 26;
if((/[A-Z]/).test(newpass)) chars += 26;
if((/[0-9]/).test(newpass)) chars += 10;
if((/[^a-zA-Z0-9]/).test(newpass)) chars += 32;
var strength = Math.pow(chars, newpass.length)
alert(strength)
}
提前致谢。
答案 0 :(得分:2)
也许你可以使用这样简单的东西:
/(\w+)(?=\1)/g
它匹配一个或多个单词字符,然后检查它们是否后跟那个确切的字符串。
基础测试(在Coffeescript中)
pattern = /(\w+)(?=\1)/g
console.log pattern.test("1qAz1qAz1qAz")
console.log pattern.test("111111111111111")
console.log pattern.test("abcdefg")
console.log pattern.test("abccdefg")
输出:
true
true
false
true
作为旁注,大写和小写都很重要,例如:
pattern.test("abcCdefg")
实际上会返回 false 。