密码正则表达式问题
Password Regex Issue
我需要一个正则表达式来验证用户通过 JS 在在线注册表中输入的密码。密码条件如下:
- 必须超过 8 个字符
- 必须包含至少 1 个数字、1 个小写字母和 1 个大写字母
- 不能包含花括号{}
- 必须允许任何其他特殊字符(如 @、#、$、%、_、" 等)
- 数字、小写字母和大写字母的顺序可以是随机的,例如可以是Ab1394*"或*"bA1394
我尝试使用以下正则表达式,但是如果您输入任何特殊字符,例如“?”在花括号 { 之前,它将允许它作为有效输入。我刚开始使用正则表达式,并不是很熟悉,所以其中可能有一些小问题:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[,#?!=@%&\^$\*\)\(\_\.\'\"\+\-]).{8,}$
有人可以为此提供正则表达式或指出我的任何问题吗?谢谢
要轻松禁止字符,请将 .{8,}
更改为 [^{}]{8,}
:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*[,#?!=@%&\^$\*\)\(\_\.\'\"\+\-])[^{}]{8,}$
或在 class 中包含任何授权字符:
[a-zA-Z\d,#?!=@%&\^$\*\)\(\_\.\'\"\+\-]{8,}
我需要一个正则表达式来验证用户通过 JS 在在线注册表中输入的密码。密码条件如下:
- 必须超过 8 个字符
- 必须包含至少 1 个数字、1 个小写字母和 1 个大写字母
- 不能包含花括号{}
- 必须允许任何其他特殊字符(如 @、#、$、%、_、" 等)
- 数字、小写字母和大写字母的顺序可以是随机的,例如可以是Ab1394*"或*"bA1394
我尝试使用以下正则表达式,但是如果您输入任何特殊字符,例如“?”在花括号 { 之前,它将允许它作为有效输入。我刚开始使用正则表达式,并不是很熟悉,所以其中可能有一些小问题:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[,#?!=@%&\^$\*\)\(\_\.\'\"\+\-]).{8,}$
有人可以为此提供正则表达式或指出我的任何问题吗?谢谢
要轻松禁止字符,请将 .{8,}
更改为 [^{}]{8,}
:
^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*[,#?!=@%&\^$\*\)\(\_\.\'\"\+\-])[^{}]{8,}$
或在 class 中包含任何授权字符:
[a-zA-Z\d,#?!=@%&\^$\*\)\(\_\.\'\"\+\-]{8,}