Javascript密码验证

Javascript密码验证,javascript,jquery,html,regex,passwords,Javascript,Jquery,Html,Regex,Passwords,我有一个很好的密码验证,但我想添加一些更多的功能 你可以在这里看到一个例子 目前我有一个检查密码,7个字符,1个大写字母,1个数字和1个特殊字符,甚至它不允许空白 但我想补充一点 密码不包含9个连续的数字(因为有些人使用电话号码作为密码,例如,它不需要Pass@123456789但是Pass123456@789正常) 与登录名不同 不超过两个重复字符(saaga可以,但不允许使用saaga) 如果密码验证工具提示仅在用户输入空白而不是显示焦点时显示空白验证消息(仅适用于空白、9个消费数字、用户名

我有一个很好的密码验证,但我想添加一些更多的功能

你可以在这里看到一个例子

目前我有一个检查密码,7个字符,1个大写字母,1个数字和1个特殊字符,甚至它不允许空白

但我想补充一点

  • 密码不包含9个连续的数字(因为有些人使用电话号码作为密码,例如,它不需要
    Pass@123456789
    但是
    Pass123456@789
    正常)
  • 与登录名不同
  • 不超过两个重复字符(
    saaga
    可以,但不允许使用
    saaga
  • 如果密码验证工具提示仅在用户输入空白而不是显示焦点时显示空白验证消息(仅适用于空白、9个消费数字、用户名等),则可获得额外奖励。

    • 1)
      ^(?。*\d{9}.*)
    • 3)
      ^(?。*([a-zA-Z])\1\1)

    对于第二条规则,只需将字符串与用户名进行比较。

    这是一个值得思考的问题。你应用的规则越多,你的密码就越同质化。这样他们就更容易使用暴力。只是说:因为它的银行解决方案,所以密码规则是非常重要的。我的经理决定一切:(…如果你必须做这类事情(通常这会让我很恼火,当人们忘记密码时会导致很多客户支持问题),最好对使用的字符进行一些一般性的统计分析,而不是应用那种“规则”您描述了,这可能没有提高安全性的分析基础。只是我的意见:-)我认为您已经越过了保护和骚扰用户之间的界限。强制他们至少使用一个大写字母或者一个数字就足够了,只要你把它们正确地存储在你的终端上。记住,大多数人都是通过社会工程而不是实际的黑客/暴力攻击被黑客攻击的。然而,如果你只是想强迫你的用户不要使用他们的用户名,那么这就是一个简单的
    if
    语句。如果您不希望他们使用电话号码,请使用正则表达式。