关于正则表达式:RegExp:至少10个字符,1个大写字母,1个小写字母和1个特殊字符或数字)

RegExp : At least 10 characters, with 1 upper case letter, with one lower case letter and or 1 special character or number)

我需要一个正则表达式来检查以下内容:

  • 至少有10个字符
  • 至少有一个大写字母
  • 至少有一个小写字母
  • 允许使用空格

然后至少执行以下操作之一。这意味着并非两者都是必需的。

  • 特殊字符(特殊字符不视为空格)

我有以下正则表达式

1
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{10,}$

它工作得很好,但目前它既需要数字又需要特殊字符。

我需要以下内容有效:

  • 约翰多1234567891011(仅限数字)
  • 约翰多伊!!!!!!!!!!!!!!!!!!!(仅限特殊字符)

你就快到了。只需将特殊字符移动到与数字相同的字符组中,如下所示:

1
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9#?!@$%^&*-]).{10,}$