Javascript 密码正则表达式问题

Javascript 密码正则表达式问题,javascript,jquery,regex,jquery-validation-engine,Javascript,Jquery,Regex,Jquery Validation Engine,我需要一个正则表达式来验证用户通过JS在在线注册表中输入的密码。密码的标准如下: 必须超过8个字符 必须包括至少1个数字、1个小写字母和1个大写字母 不能包含花括号{} 必须允许使用任何其他特殊字符(如@、#、$、%、"等) 数字、小写字母和大写字母的顺序可以是随机的,因此可以是例如Ab1394*“或*”bA1394 我曾尝试使用以下正则表达式,但是如果您在花括号{之前输入任何特殊字符,例如“?”,它将允许将其作为有效输入。我对使用正则表达式不太熟悉,因此可能有一些次要的内容: ^(?=.*?[

我需要一个正则表达式来验证用户通过JS在在线注册表中输入的密码。密码的标准如下:

  • 必须超过8个字符
  • 必须包括至少1个数字、1个小写字母和1个大写字母
  • 不能包含花括号{}
  • 必须允许使用任何其他特殊字符(如@、#、$、%、"等)
  • 数字、小写字母和大写字母的顺序可以是随机的,因此可以是例如Ab1394*“或*”bA1394
  • 我曾尝试使用以下正则表达式,但是如果您在花括号{之前输入任何特殊字符,例如“?”,它将允许将其作为有效输入。我对使用正则表达式不太熟悉,因此可能有一些次要的内容:

    ^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-]).{8,}$
    

    有人能帮我用一个正则表达式来解决这个问题或指出我的任何问题吗?感谢轻松禁止字符,将
    {8,}
    更改为
    [^{}]{8,}

    ^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*[,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-])[^{}]{8,}$
    
    或在类中包含任何授权字符:

    [a-zA-Z\d,#?!=@%&\^\$\*\)\(\_\.\'\"\+\-]{8,}
    

    为什么不允许使用花括号呢?我对传统系统有一个限制,我不能在密码中使用这些字符。