jquery / javascript - 检查输入(密码)是否有一些重复的字符

时间:2012-04-28 22:22:43

标签: ajax passwords

我现在正在使用密码,并希望让用户创建复杂的密码。我使用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)
}

提前致谢。

1 个答案:

答案 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